IchigoJamとMixJuice×2台で通信対戦するババ抜きゲームです。ラスト1枚だけの勝負です(^_^)
MixJuiceで相互通信する簡単なプログラミング教材を想定して作ってみました。
※MixJuiceでのサーバー・クライアント通信設定は、こちらの記事を参照してください。
www.ichigojaman.jp
2台のIchigoJamをTX・RXでつないでシリアル通信でも遊べます。
遊び方
- スタート時はサーバー側が「1」のカード、クライアント側が「1」「J」(ジョーカー)の2枚のカードを持っています。
- サーバー側が先手で、「?」と表示されます。クライアント側の左のカードを引くか、右のカードを引くかを、カーソルキーの左か右を押して選びます。手持ちと同じ「1」のカードを引けば勝ち、ジョーカーを引くと上がれず、クライアント側のターンへ移ります。
- 今度はクライアント側のターンで、「?」と表示されます。サーバー側の左のカードを引くか、右のカードを引くかを、カーソルキーの左か右で選びます。「1」のカードを引ければ勝ち、ジョーカーを引くと攻守交代です。
- どちらかのプレイヤーが「1」を引いたら終了します。勝ったプレイヤーは「WIN」、負けたプレイヤーは「LOSE」と表示されます。
※MixJuiceのサーバー→クライアントへのTCP通信が遅いため、一手に5秒ほど待たされることがあります。
プログラム
サーバー側(先手)
10 '*BABA1 SERVER 20 CLV:VIDEO 3:UART 0,0 30 @YOU 40 CLS:BEEP:?"1":? 50 ?"?";:CLK 60 K=INKEY():IF K<28 OR K>29 CONT 70 BEEP 80 IF K=28 ?"LEFT" 90 IF K=29 ?"RIGHT" 100 UART 9:?CHR$(K):UART 0,1 110 C=INKEY():IF !C OR C=256 CONT 120 LC 1:?CHR$(C):UART 0,0 130 IF C=49 GOTO @GEND 140 @OPP 150 CLS:BEEP 160 IF RND(2) ?"1J" ELSE ?"J1" 170 ?:?"WAITING...":CLK:UART 0,1 180 K=INKEY():IF K<28 OR K>29 CONT 190 IF K=28 ?"LEFT" 200 IF K=29 ?"RIGHT" 210 C=SCR(K-28,0) 220 UART 9,0:?CHR$(C):UART 0 230 LC K-28:?CHR$(127) 240 WAIT 300:IF C!=49 GOTO @YOU 250 BEEP 30,30 260 LC 0,4:?"***LOSE!***" 270 END 280 @GEND 290 BEEP 10,30 300 LC 0,4:?"***WIN!***"
240行の「WAIT 300」は、MixJuiceのサーバー→クライアントへのTCP通信が遅いため、時間待ちとして入れています。IchigoJam×2台をシリアル接続する時は「WAIT 300」を削除してください。
クライアント側(後手)
10 '*BABA1 CLIENT 20 CLV:VIDEO 3:UART 0,0 30 @OPP 40 CLS:BEEP 50 IF RND(2) ?"1J" ELSE ?"J1" 60 ?:?"WAITING...":CLK:UART 0,1 70 K=INKEY():IF K<28 OR K>29 CONT 80 IF K=28 ?"LEFT" 90 IF K=29 ?"RIGHT" 100 C=SCR(K-28,0) 110 UART 9,0:?CHR$(C):UART 0 120 LC K-28:?CHR$(127) 130 IF C=49 GOTO @GEND 140 @YOU 150 CLS:BEEP:?"1":? 160 ?"?";:CLK 170 K=INKEY():IF K<28 OR K>29 CONT 180 BEEP 190 IF K=28 ?"LEFT" 200 IF K=29 ?"RIGHT" 210 UART 9:?CHR$(K):UART 0,1 220 C=INKEY():IF !C OR C=256 CONT 230 LC 1:?CHR$(C):UART 0,0 240 IF C!=49 GOTO @OPP 250 BEEP 10,30 260 LC 0,4:?"***WIN!***" 270 END 280 @GEND 290 BEEP 30,30 300 LC 0,4:?"***LOSE!***"
十勇士パソコンクラブのサイトで、このプログラムを含むプログラミングテキストを公開しています。
www.white.umic.jp