プログラム講座

  では次は押して進めましょう。

  まず1を押したら進む。次は1を押しても進まない。

  2を押さなければならない。2を押したら1を。となる。

  では行きましょう!

 10 CLS:A=0:B=3

 20 LOCATE A,B:PRINT "$":C$=INKEY$

 30 IF C$="1"THEN LOCATE A,B:PRINT " ":A=A+1:GOTO 50

 40 GOTO 20

 50 LOCATE A,B:PRINT "$":C$=INKEY$

 60 IF C$="2"THEN LOCATE A,B:PRINT " ":A=A+1:GOTO 20

 70 GOTO 50

  どうですか?1,2と押すとどんどん進みますね!

  これは20で表示し、C$に押されるキーを代入します。

  文字を代入するためには変数に$(ダラー)をつけないといけませんよ。

  そして代入されたキーを30で判断します。

  そのC$が1だったらまず、今表示している$を消してAに1足して、

  その所に50に行ってから表示します。

  後はそれと同じことをしています。

  1,2を押しすぎるとERROR 33が出ます。これはAが23を超えたからです。

  表示できなくなったのです。

  なので、IF A>23 THEN A=0などを作っとけばいいわけですね!

  どこに入れるべきかは宿題です。

  ではもっと簡単にかけないでしょうか。

  例えば、1,2のどちらを押すべきかを判断するために

  D=1なら1を、D=2なら2を押すと決めるとどうでしょうか。

 10 CLS:A=0:B=3:D=1

 20 LOCATE A,B:PRINT "$":C$=INKEY$

 30 IF (C$="1") AND (D=1)THEN LOCATE A,B:PRINT " ":A=A+1:D=2

 40 IF (C$="2") AND (D=2)THEN LOCATE A,B:PRINT " ":A=A+1:D=1

 50 IF A>23 THEN A=0

 60 GOTO 20

  どうですか!結果が同じなのに簡単になりました!

  もっと簡単にできますが、それは後ほど!

次へ

戻る