投稿
☆kei☆ keiugo0216
画像で反転している部分のような条件式がなく、変数や命令のみ書いてあるときは何を判定しているのでしょうか
1そうだね
プレイ済み
返信[1]
親投稿
ヨッシー okkun2002
IF A THEN の場合、Aが0以外の場合と言う意味です。 IF!A THEN の場合、Aが0の時と言う意味です。
1そうだね
プレイ済み
返信[2]
親投稿
意味的にはヨッシーさんの回答の通りです〜。 通常は呼び出した関数の結果がTRUEまたはFALSEを返す命令の場合に==などを省略して書くことが多いですが、上記の0と0以外で判定できることを利用して13行目のようにBUTTON()関数の返値を直接判定(何も押してなければ0なのでなにか押されていたらみたいな条件になる)やGSPOITの結果は色コードなので0以外(なにも描かれてないと0なのでなにか描かれていたら条件に引っかかる)みたいな判定をする事がありますね。 正確に書くとしたら、IF BUTTON() > 0 THENやIF GSPOIT(X,Y) > 0 THENと同一になる感じです。
0そうだね
プレイ済み
返信[3]
親投稿
けい kei0baisoku
この「IF文で==がないのはなぜですか」系の質問はいつも説明に頭を悩ますのですが、ヨッシーさんの回答、簡潔にして疑問の解消に必要な情報を全て含んでいて感動しました(°ω°) メモメモ………φ(..)
1そうだね
プレイ済み
返信[4]
親投稿
ヨッシー okkun2002
>けいさん いえいえ、超簡単に書いたんで後から、詳しく加えようかな?とも思ったんですが、でんべんさんが詳しく説明していただいたので、ほっとしました。
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
これは「比較演算(==や!=など)が省略された形」ですね。 「0か」「0以外か」の2通りのみで判断が可能な場合に限り省略が可能になります。 つまり、IF GSPOIT(X,Y)THEN ~はIF GSPOIT(X,Y)!=0THEN ~から「!=」を省略したものとなります。 GSPOITの場合は少し厄介で、負数も正数も取りうるため、IF GSPOIT(X,Y)>0THEN ~とするとまた意味が変わります。
0そうだね
プレイ済み
返信[6]
親投稿
☆kei☆ keiugo0216
ありがとうございました!
0そうだね
プレイ済み
返信[7]
親投稿
たしかに0と0以外という説明からも>で判定するのは間違ってますね。勢いで書いてしまったので正確性を欠いてしまいすいませんでした。
0そうだね
プレイ済み
返信[8]
親投稿
ツララ LongIceSword
戻り値が負数になる場合はABS()が使えそうですね
0そうだね
プレイ済み