Hana道場【師範】のブログ

IchigoJamの徹底解説ブログ

【文字列の代入】『お絵かきゲームのお題生成プログラム』 for IchigoJam

f:id:hanadojo_sihan:20200908011242j:plain

 

お絵かきゲームのお題を生成するプログラムを紹介します。

イベントなどで自由にIchigoJamで遊んでもらうときに便利です。

f:id:hanadojo_sihan:20200908011826j:plain

↑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 終了のベル

STR$(数1{,数2})  PRINT内で、文字列を返す(数2(省略可)で長さ指定) 

数1の部分に文字列を代入した変数を入れましょう。

 

変数や配列に代入した文字列の表示は、下のようにします。

10 [0]="リンゴ" 文字列の代入
20 ?STR$([0]) 代入した文字列の表示
RUN
リンゴ

配列は[0]〜[101]まであるので、お題(文字列)を102個保存可能!! 

 

<やってみよう>

  1. お題の追加(10行目)
  2. 制限時間の変更(5行目)
  3. 1つ目のお題終了後、次のお題が表示されるようにする
  4. 同じお題が表示されないようにする

Hana道場4周年の時は、<やってみよう>の4までできたプログラムで行いました。

チャレンジしてみてください!

 

<追記>2020/9/23

複数人で行う「プログラミングお絵かきバトル」が白熱!!

プログラミング能力とデザインセンスが試される!?

 

3分の中でならお絵かきプログラムを書き換えOK!

必要な機能を実装しながらお絵かきを楽しもう✨

 

CC BY shoichi1031da / @shoichi1031da

twitter.com