トピック
ボーネン gurigura2003

【質問】IF文ってなんですか?

題名の通りです。IF文ってなんですか?
2そうだね
プレイ済み
返信[1]
親投稿
ぷろnight® ararara12345
簡単に説明すると、 IFは、「もしも〇〇だったらこうしなさい」と、指示をする文です。 例)IF A==8 THEN @ABC の場合、「もしも、(IF) Aの箱(変数Aのこと)の中身が(==) 8 なら(THEN) ブログラムのABCの場所に行って下さい。(@ABC)」と言う意味になります。
2そうだね
プレイ済み
返信[2]
親投稿
ぷろnight® ararara12345
説明下手ですいません。
1そうだね
プレイ済み
返信[3]
親投稿
もし~ならば~ たとえばアクションゲームだとこんなのが もし Aを押している ならば ジャンプする
2そうだね
プレイ済み
返信[4]
親投稿
ボーネン gurigura2003
大体わかりました^^ 理想として例文と 分解して説明してほしいです。 例えると昔話の現代語と古代語? てきな…
0そうだね
プレイ済み
返信[5]
親投稿
ぷろnight® ararara12345
おk。 例)IF A==8 THEN @ABC 訳)もしも、Aの箱の中身が8ならブログラムのABCの場所に行って下さい。 こんな感じでしょうか? 説明下手ですいません。
1そうだね
プレイ済み
返信[6]
親投稿
ボーネン gurigura2003
つまり A=A+1 つまり最初は0だったけど 8かい1追加されることをしたから Aは8となり条件がとおる ということですか? 例えるならラスボス10回倒したから特定の場所にいけるよみたいな?
1そうだね
プレイ済み
返信[7]
親投稿
ぷろnight® ararara12345
考え方としてはそういうことです。 あとは変数を学べばマスター出来ます。 詳しくは説明書やヘルプを読めば分かります。
2そうだね
プレイ済み
返信[8]
親投稿
ボーネン gurigura2003
できましたー!けど@1の部分で当たりがでるとプリントで入力した部分がたくさん表示されてしまいます… あとIF A==1 THEN @1 これのA==1の== ここを変えられるみたいですけどどういうのがありますか?またTHENはどういう効果ですか?
0そうだね
プレイ済み
返信[9]
親投稿
IF-THENはセットなの。 片方だけだとエラーなの。 記号 == >= <= > < 数学の「大なり・小なり」とかと同じなの。
1そうだね
プレイ済み
返信[10]
親投稿
ボーネン gurigura2003
なるほど!ありがとうございます! あとはGOTO @ラベル名 これで@ラベルの部分を終わらせますよね?けどこれだとたとえば @1 プリント''あたり'' GOTO @1 これだとあたりが上から下まで大量に表示されてしまいます…どうすればいいですか? あともう1つ…ランダム、つまり乱数の使い方をおしえてください
0そうだね
プレイ済み
返信[11]
親投稿
TERA(LL) tera0413
もし、IF文がなければ、ゲーム作りは難しい。 (できなくは、ないですが)
0そうだね
プレイ済み
返信[12]
親投稿
TERA(LL) tera0413
GOTO @ラベル名 は @ラベル名(場所)へ飛ぶだけです。 例だと、PRINTして、またラベルに、飛んでるので、繰り返しになってます。 プログラムは、特にGOTO等の指定がないかぎり、上から順に実行して一番下まで行って終わります。
0そうだね
プレイ済み
返信[13]
親投稿
say sayer.exe
センスがありすぎてどうコメントしたらいいもんだかw    そこならこうざんす そこでないならああざんす 「そこ」を見て、「こう」と「ああ」を判定すんのがIF文ってやつよ あんためっさかしこい! 「「そこ」を見る」のがキモなんだけど、絶対すぐ理解できる
0そうだね
プレイ済み
返信[14]
親投稿
ぷろnight® ararara12345
PRINTは、 A=0 @1 CLS PRINT"あたり" WAIT 60 (A+1) (IF A=8 THEN END) @1 で解決出来ます。 また、()内を追加すると、一定の秒数文字を表示して自動的にプログラムを終了させることが出来ます。 IFはこんな感じで活用して下さい。 説明下手ですいません。 RNDは時間ある時にまた書きます。
0そうだね
プレイ済み
返信[15]
親投稿
ぷろnight® ararara12345
PRINTは、 A=0 @1 CLS PRINT"あたり" WAIT 60 (A+1) (IF A=8 THEN END) @1 で解決出来ます。 また、()内を追加すると、一定の秒数文字を表示して自動的にプログラムを終了させることが出来ます。 IFはこんな感じで活用して下さい。 説明下手ですいません。 RNDは時間ある時にまた書きます。
0そうだね
プレイ済み
返信[16]
親投稿
RNDは簡単で、RND(数)のような関数で0〜指定した数ー1までの数が返ってきます。数が返ってくるので実際には受け止める変数が必要なので、 R=RND(10) みたいな感じで書きます。 ちなみに指定した数−1になるのは、戻ってくるのが0〜なのが関係していて、上記の場合は10の範囲の乱数という指定になるので、0〜9の値が返る(範囲としては10)と考えるといいかもです。 逆に必ず0〜指定した数ー1の数しか求められないので、それ以外のランダムが欲しい場合は自分で加工することになります。たとえば5〜10のランダムが欲しかったら、5〜10というのは範囲としては6(5,6,7,8,9,10)なので、RND(6)、ただしこのままだと0〜5の数字なので、これに5を足すと5〜10になります。つまり最終的には、 R=RND(6)+5 とすれば目的の5〜10の範囲の乱数が取得出来ます。
0そうだね
プレイ済み
返信[17]
親投稿
ボーネン gurigura2003
みなさん長文で説明わざわざありがとうございます! 本当にありがとうございます! いろいろやってみた結果 RNDで乱数 これででた数字を 変数Bとして扱いたいですが できません… どうすればいいですか?
0そうだね
プレイ済み
返信[18]
親投稿
「=の左は変数の名前」なの B=RND(n)
3そうだね
プレイ済み
返信[19]
親投稿
ちなみに;を使うのはPRINTやINPUTなど一部の命令だけなの
2そうだね
プレイ済み
返信[20]
親投稿
つばさ☆ nsm2116
あまさと しおんさんと同じですが、R=RND(10);BをB=RND(10)にしてください
2そうだね
プレイ済み
返信[21]
親投稿
ちなみにnって「適当な整数」みたいな意味合いででてくることがあるなの。
3そうだね
プレイ済み
返信[22]
親投稿
多分貴方がやりたいであろうプログラムを作ってみました。この中で不明な点があったら聞いてください ちなみにRNDの範囲は()の中の数ー1なので11にしています
2そうだね
プレイ済み
返信[23]
親投稿
ボーネン gurigura2003
なるほど…そこが変数でしたか…ありがとうございます! で、とりあえずスロットてきなの作ってみました! で、@1部分、ずーっと表示させたいのですがどうすればいいですか?どうしてもなんども繰り返されてしまいます。また、何かのボタンを押したら またBのデータは同じのまま またスロットを開始したいです… どうすればいいですか?
2そうだね
プレイ済み
返信[24]
親投稿
ぷろnight® ararara12345
GOTOの前に WAIT 5 と書けば何とかなりそう...な気がします。
1そうだね
プレイ済み
返信[25]
親投稿
ぷろnight® ararara12345
僕も初心者なので難しい質問は答えられないかもです。
1そうだね
プレイ済み
返信[26]
親投稿
Bの変数はスロットを回すためのコインだということは分かるのですがAの変数はスロットの当たりの数のことでしょうか? だとしたら簡単に作ってみます
1そうだね
プレイ済み
返信[27]
親投稿
できました。わからなかったら質問下さい FOR~TOは指定した回数NEXTまで繰り返す命令です
0そうだね
プレイ済み
返信[28]
親投稿
ボーネン gurigura2003
ぷろさん そうですか、わざわざ初心者なのにありがとうございます! たまごかけごはんさん それであってます^^
0そうだね
プレイ済み
返信[29]
親投稿
ちなみにPRINTは?の記号で省略することができます 例 ?¨イカカワイイデス¨
0そうだね
プレイ済み
返信[30]
親投稿
ボーネン gurigura2003
たまごかけごはんさんのを参考にしてみましたが、 スロットの部分とあたりのコイン配当の部分どうやってわけてますか? あたりの数じゃなくても コインが配当されてしまいます… どうすればいいですか?
0そうだね
プレイ済み
返信[31]
親投稿
IFは条件に満たない時、下のプログラムを実行するので、A==1に当てはまらなかった@Aより下の文を実行してしまいます。なので条件に満たない時にどうするかのプログラムを書く必要があります。 なのでA==1のしたにGOTO@Bで、@Bにハズレの時の処理を書かなくてはいけません
1そうだね
プレイ済み
返信[32]
親投稿
現状況だとコンピュータからしたら、「あっAが1じゃない、んじぁしたのコイン配布の処理やるか」みたいな感じです
2そうだね
プレイ済み
返信[33]
親投稿
ボーネン gurigura2003
なるほど!すごい! 今の目標  乱数 変数 IF を使ってスロットを作る。 目標達成できました! ありがとうございます!!!
1そうだね
プレイ済み