【文字列の代入】『お絵かきゲームのお題生成プログラム』 for IchigoJam
お絵かきゲームのお題を生成するプログラムを紹介します。
イベントなどで自由にIchigoJamで遊んでもらうときに便利です。
↑Hana道場4周年イベントの様子です。
写真左下のMeganeJamの0番にお題生成プログラムが保存されています。
MeganeJamのモニターにお絵かきゲームのお題が表示され、それに合わせてお絵かきバトル!!(MeganeJamのボタンを押すと次のお題が表示)
誰が上手いかはお母さんがジャッジしていました笑
IchigoJam初心者でも放っておいても大丈夫!無料体験イベントなどでおすすめです。
【プログラム】
5 CLS:VIDEO 5:T=180
10 LET[0],"リンゴ","アメ","ゾウ","ニホン","フクイ","キリン","ハル","ナツ","アキ","フユ"
20 R=RND(10)
30 LC 0,0:?"オダイハ.."
40 IF BTN(32)=0 BEEP RND(50):CONT
50 ?STR$([R]):BEEP
60 WAIT120:BEEP60
70 ?"ヨウイ";:WAIT60:?"スタート!":BEEP20,60
80 CLT
90 LC 0,0:?"ノコリ";T-TICK()/60;" "
100 IF T-TICK()/60>0 GOTO90
110 LC 0,2:?"シュウリョウ!!":BEEP20,120
<使い方>
スペースを押すと、10行目で指定した文字列がランダムに一つ表示されます。
そして3分間時間を測ってくれます。
<解説>
T:制限時間 R:0〜9の乱数
[0]〜[9]:お題の文字列
5 CLS:VIDEO 5:T=180 画面サイズを5、制限時間を180秒に設定
10 LET[0],"リンゴ","アメ","ゾウ","ニホン","フクイ","キリン","ハル","ナツ","アキ","フユ" お題を配列に代入
20 R=RND(10) 0〜9のうちランダムに一つを変数Rに代入
30 LC 0,0:?"オダイハ.."
40 IF BTN(32)=0 BEEP RND(50):CONT スペースを押すまで、くりかえし
50 ?STR$([R]):BEEP [0]〜[9]のうちランダムに一つ文字列として表示
60 WAIT120:BEEP60
70 ?"ヨウイ";:WAIT60:?"スタート!":BEEP20,60 開始のベル
80 CLT
90 LC 0,0:?"ノコリ";T-TICK()/60;" " ←スペース2つ分
100 IF T-TICK()/60>0 GOTO90 残り時間が0になるまでくりかえし
110 LC 0,2:?"シュウリョウ!!":BEEP20,120 終了のベル
数1の部分に文字列を代入した変数を入れましょう。
変数や配列に代入した文字列の表示は、下のようにします。
20 ?STR$([0]) 代入した文字列の表示
RUN
リンゴ
配列は[0]〜[101]まであるので、お題(文字列)を102個保存可能!!
<やってみよう>
- お題の追加(10行目)
- 制限時間の変更(5行目)
- 1つ目のお題終了後、次のお題が表示されるようにする
- 同じお題が表示されないようにする
Hana道場4周年の時は、<やってみよう>の4までできたプログラムで行いました。
チャレンジしてみてください!
<追記>2020/9/23
複数人で行う「プログラミングお絵かきバトル」が白熱!!
プログラミング能力とデザインセンスが試される!?
#IchigoJam お絵かきバトル✨
— Hana道場 (@hanadojo_sabae) September 23, 2020
お題は「ニホン」
①お絵かきするためのプログラムを自分で作成
②お題作成プログラムが出題するお題を3分以内に書く
③第三者がジャッジ!!
途中でお絵かきプログラムを修正可能!プログラミングとデザインが試される!! pic.twitter.com/hhnm03uZFb
3分の中でならお絵かきプログラムを書き換えOK!
必要な機能を実装しながらお絵かきを楽しもう✨
CC BY shoichi1031da / @shoichi1031da