数字記憶ゲーム by xiyuxi

再生

 キミの記憶力に挑戦するゲームだ。
 RUNするとまず9ケタの数字が表示されるが、すぐに消えてしまう。消えるまでの3秒間でこの数字を記憶して、入力画面でタイプ&Enterしよう。
 正解しても気を抜かずスグに次の問題! 正解していれば数字も9ケタから10ケタ、11ケタ……とどんどん増えていく。ミスすれば1ケタ減だ。何ケタまで増やせるかな?

私が作りました

xiyuxi

MSXユーザでした。


 CHECK POiNT 

博士
このページを公開したその日の晩にさっそく送られてきた、投稿プログラム第1号じゃ。もちろんプチコンの発売日前じゃぞ。なかなかやるわい。

神崎
さらっと言ってますけど、テストできない環境ってことですよね。

博士
そのせいじゃろうな、残念ながら1つ動作せん部分があったのじゃ。元のプログラムでは24~28行が
C=C-(MID$(A$,I,1)=MID$(B$,I,1))
NEXT I
PRINT”    ”;A$;C;”/”;L
IF C>L THEN L=C

となっておった。TRUE(真)=-1と考えるとうまくいきそうじゃが、おそらく別のBASICの「方言」に拠っていたのではないのかの? ここではTRUEの判定値をそのまま変数の計算に使っておってテクニカルじゃわい。

神崎
この解釈で間違ってたらすいませーん! 教えてくださいね。

インテリ
それと11~17行は時間を計っているんだね。プチコンなら「VSYNC 60*3」と書いてもいいはずだよ。

ワンパク
VSYNC 60が1秒ってどこにも書いてなかったからムリもねえが、6行をそんなあっさり一言でまとめていいのか……?

神崎
ワンパク君はたまに穏健派になるよね。
このゲームは答合わせと次の質問が同時に表示されると両方見る時間がないから、間にインターバルを入れるといいんじゃないかな。

博士
そこも「紙プログラミング」ではなかなか気付けん問題というところじゃの。ハードな環境からの投稿、感謝じゃぞい!

プログラムリスト

  1. ’----
  2. L=9
  3. FOR J=0 TO 1
  4.  
  5.  A$=””
  6.  FOR I=1 TO L
  7.   A$=A$+CHR$(ASC(”0”)+RND(10))
  8.  NEXT I
  9.  PRINT A$;
  10.  
  11.  TMREAD(TIME$),H,M,S
  12.  ST=H*3600+M*60+S
  13.  FOR I=0 TO 3
  14.   TMREAD(TIME$),H,M,S
  15.   ED=H*3600+M*60+S
  16.   I=ED-ST:IF I<0 THEN I=3
  17.  NEXT I
  18.  
  19.  CLS
  20.  B$=””
  21.  INPUT B$
  22.  C=0
  23.  FOR I=1 TO L
  24.   IF MID$(A$,I,1)==MID$(B$,I,1) THEN C=C+1
  25.  NEXT I
  26.  PRINT”    ”;A$;”:”;C;”/”;L
  27.  IF C<L THEN L=L-1
  28.  IF C==L THEN L=C+1
  29.  J=0
  30. NEXT J