トピック

DEFとかSPVARとか

ユーザー定義命令、内部変数数値がどういうものかについて教えてください。
0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
例えば、「文字列の指定位置から残り全部を返す関数」というのは用意されてません。あれば便利なんだけど。 そういう時 ' 文字列の指定位置から最後までを返す def nokori$(s$,i%) return mid$(s$,i%,len(s$)-i%) end とか作っとくと ? nokori$("0123456", 3) 3456 とか使える。
0そうだね
プレイ済み
返信[2]
親投稿
ありがとうございます。何となく使い方が解ってきました。今まで複雑な計算はサブルーチンを作ってその中で計算させてたけどこれでその必要も無くなるんですね。 思ったのですが、その例の場合はRIGHT$関数ではいけないのですか?
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
もちろん return right$(s$, len(s$)-i%) でも同様にできます。 あと、どちらの場合にもlen(s$)-i%が負にならないようにエラーチェックしたほうがいいんですが、説明のために省いています。 ついでに便利な関数を一つ def cond(b, a, b) if b then return a return b end 例えば if bonus then score=score+1000 else score=score+10 を score = score + cond(bonus, 1000, 10) のように書けます。
0そうだね
プレイ済み
返信[4]
親投稿
れい rei-nntnd
def cond(c, a, b) if c then return a return b end の間違いだと思われる。
0そうだね
プレイ済み
返信[5]
親投稿
リンク GreenHeroLink
ユーザ定義命令というのは、DEF~ENDで囲って命令を定義しておくと、その命令を書くだけで、できるのです。 同じ命令をあちこちで何度も使いたいとか、特定の命令を分けたい時とかに良いかもですね。 似たことはGOSUBでも出来ますが慣れるとユーザ定義命令の方が使いやすいです。(誇張抜きにGOSUB要らずになります) 引数も付けられるので、特定の値を与えて結果を返す関数的な事をしたり、引数に応じて別の処理をということも可能なので慣れると超便利です。 スプライト内部変数というのは自分もどう使うのか悩むところですが、スプライトのプロパティ的なものとして使うといいかもですね。 でCALL SPRITE/SPDEFとかのコールバック命令と組み合わせて、コールバックルーチンに、コールされたときにその変数の値のいかんで己の挙動を変えるようなプログラムを書いて、ループ毎にCALLすると「自立」すると思います。
1そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
れいさんフォローありがとうございます!! やってもた~~
0そうだね
プレイ済み
返信[7]
親投稿
はぇ^~すっごい… そう考えるとこれ使えばオリジナル言語を作れるようなもんですね…僕はそこまではいけないけど ありがとうございました。 SPVARはやっぱりよく解らないのでとりあえず自分で頑張って勉強してみます。
0そうだね
プレイ済み