SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

通信対戦じゃんけん

以前に公開した双方向チャット
www.ichigojaman.jp
のシステムを利用して、通信対戦じゃんけんゲームを作ってみました。
f:id:shiro0922:20210903153647j:plain

f:id:shiro0922:20210903153704j:plain
チャットの文字列の代わりに、グー/チョキ/パーの手のデータをお互いに送受信します。

準備

サーバーやネットワークの準備は、双方向チャットと同じです。

プログラム

10 '*JANKEN
20 CLV:CLS
30 [1]="グー":[2]="チョキ":[3]="パー"
40 ?:?"ジブン=";
50 A=INKEY():IF !A CONT
60 A=A-48
70 IF A<1 OR A>3 GOTO 40
80 ?STR$([A]):?
90 ?"MJ GET www.example.jp/dir/SEND.PHP?ID=UEDA01&MES=";A
100 WAIT 60:CLK
110 ?:?"MJ GET www.example.jp/dir/READ.PHP?ID=UEDA02"
120 WAIT 60:B=INKEY():IF !B GOTO 100
130 B=B-48
140 ?:?"アイテ=";STR$([B]):?
150 G=G+1
160 IF A=B ?"*アイコ*":D=D+1
170 IF A+1=B OR (A=3 AND B=1) ?"*カチ*":W=W+1
180 IF A-1=B OR (A=1 AND B=3) ?"*マケ*":L=L+1
190 ?G;"セン:";W;"ショウ";L;"ハイ";D;"ワケ"
200 WAIT 120:CLK:GOTO 40

90行は自分の手を送信する部分です。「UEDA01」は自分のIDにしてください。
110行は相手の手を受信する部分です。「UEDA02」は相手のIDにしてください。

  • 実行すると「ジブン=」ときかれるので、自分が出す手を「グー=1」「チョキ=2」「パー=3」のどれかのキーで入力してください。
  • 自分の手を入力すると、相手の手を待ちます。相手が入力するとそれを読み取って表示して、「カチ」「マケ」「アイコ」の勝敗と、これまでの通算結果を「○セン:○ショウ○ハイ○ワケ」(○戦:○勝○敗○分)と表示します。
  • 以上をくりかえします。