1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IchigoJamでゲーム「いちご探し」を作ってみた。
(後から気付いたけど、今日は15日、いちごの日だった!)

ルール

ゲームを開始すると、画面にランダムな数字がたくさん表示される。
この数字の中から「1」を1個、「5」を5個、できるだけ早く探し出そう!

全て探し出せたらゲームクリアで、「10000 - かかった時間(TICK())」がスコアになる。
探し終わる前に時間が10000を超えてしまったらゲームオーバー。

操作方法

矢印キーまたはWASDキー:カーソルを移動
スペースキー:決定

※シリアル通信で操作する場合、Tera Term を使う場合など端末ソフトウェアによっては矢印キーが使えないことがある。この場合、WASDキーで操作する。

プログラム

10 ' イチゴ サガシ
20 C=1:[0]=RND(16*20)
30 P=RND(16*20):A=1
40 FOR I=0 TO C-1
50 IF [I]=P A=0
60 NEXT
70 IF A [C]=P:C=C+1
80 IF C<6 GOTO 30
90 FOR I=4 TO 0 STEP -1
100 FOR J=0 TO I
110 IF [J]>[J+1] T=[J]:[J]=[J+1]:[J+1]=T
120 NEXT:NEXT
130 C=0:P=0:S=RND(6):[6]=-1:CLS:FOR Y=0 TO 19
140 FOR X=1 TO 31 STEP 2
150 LOCATE X,Y
160 IF P=[C] ?5-4*(C=S);:C=C+1 ELSE V=RND(8):?V+(V>0)+(V>3);
170 P=P+1
180 NEXT:NEXT
190 X=0:Y=0:C=0:LOCATE 0,0:?CHR$(#E1);:CLT
200 T=TICK():IF T>10000 GOTO 370
210 K=INKEY()
220 IF K=LEFT OR K=#41 OR K=#61 Z=(X+15)%16:W=Y:GOTO 280
230 IF K=RIGHT OR K=#44 OR K=#64 Z=(X+1)%16:W=Y:GOTO 280
240 IF K=UP OR K=#57 OR K=#77 Z=X:W=(Y+19)%20:GOTO 280
250 IF K=DOWN OR K=#53 OR K=#73 Z=X:W=(Y+1)%20:GOTO 280
260 IF K=#20 GOTO 310
270 GOTO 200
280 LOCATE X*2,Y:?CHR$(0);
290 LOCATE Z*2,W:?CHR$(#E1);
300 X=Z:Y=W:GOTO 200
310 V=SCR(X*2+1,Y):IF V<>#31 AND V<>#35 GOTO 200
320 LOCATE X*2+1,Y:?CHR$(0);
330 LOCATE C,21:?CHR$(V);
340 C=C+1:IF C<6 GOTO 200
350 LOCATE 7,21:?"CLEAR! SCORE=";10000-T
360 END
370 LOCATE 7,21:?"TIME UP!"

解説

  • 10行目:タイトル
  • 20~80行目:探す対象を配置する位置をランダムに決定する (被ったらリトライすることで被らないようにする)
  • 90~120行目:配置に使いやすいよう、探す対象の位置をソート (バブルソート) する
  • 130~180行目:探す対象を配置する位置の中から「1」を配置する位置をランダムに選び、数字を配置する
  • 190行目:カーソルの位置、見つけた数、時間を初期化する
  • 200行目:現在時刻を記録し、タイムオーバーの判定をする
  • 210~270行目:キー入力を処理する
  • 280~300行目:カーソルを移動する
  • 310~360行目:決定を処理する (見つけた数字を取り除き、クリアの判定と表示をする)
  • 370行目:タイムオーバーの表示をする

実行結果

おわりに

※IchigoJamはjig.jpの登録商標です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?