さぁ、いよいよゲームを作ってみましょう。
; Sample 004 ct=0 gettime a,7 a=a/20+1 *top cls print "番号は1-50だよ!" print "試した回数:"+ct button "+",*up_num button "−",*down_num button "ok!",*ok_num print num stop *up_num num+=1:goto *top *down_num num-=1:goto *top *ok_num ct+=1 if num=a :goto *yes if num>a :goto *hi mes "それは小さい" wait 50 goto *top *hi mes "それは大きい" wait 50 goto *top *yes mes "それあたり!" stop
乱数で、1から50の数字が決められ、それを当てるゲームです。
ボタンで、数字を増減させてok!ボタンで、あたっているか試します。
選んだ数字が大きいか、小さいかが示されます。
プログラムの構造は今まで勉強してきたものを基本にしています。
いくつか新しいところがありますが、順番に見ていきましょう。
「 gettime a,7
a=a/20+1 」
gettimeで、乱数の代わりに時間のデータを読んでいます。
0から999の数値が変数aに入る予定です。
それを20で割って1を足すので、999/20+1で最大50になります。
「 if num=a :goto *yes 」
今回の注目のポイントはifという命令です。
これは、条件によってプログラムの流れを変える、便利かつ重要な命令なのです。
ifの後の「num=a」というのが条件で、 もし条件が成立したら後半の命令「goto *yes」を実行しなさい、というものです。
実行する命令はgotoに限りませんが、ifとgotoをセットで使うと便利です。
「wait 50」
さぁ、これは何をする命令でしょう。
なんと、何もしない命令なのです(笑)
とかいって、正確に言うと時間待ちをする命令です。
値を変えて、実験してみましょう。
さらっと説明しましたが、簡単なプログラムでもゲームになっていますね。
このあとは、グラフィックやサウンドを付けたり、フォントのサイズを変えてみたり、
いろいろ改良の余地があります。