SHIROのIchigoJam日記

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

イチゴトランプ

シンプルなカードゲームです。表示が小さいので、IchigoJam BIGで遊んだ方が楽しいでしょう。
マンガ「アタゴオル物語」(ますむらひろし著)に出てくる「ネズミトランプ」を元にしています。

  • カードは、11種類の絵柄カード×4枚、イチゴカード×3枚、合計47枚です。
  • プレイヤーは、自分とCOM1〜3の4人です。
  • 各人に手札が3枚ずつ配られます。残りのカードは山札となります。
  • 自分のターンからスタートします。各人のターンでは、山札から1枚カードを引いて手札を4枚にし、どれか1枚を山札に捨てて再び手札を3枚にします。自分のターンの時は、カーソルキーの左右でカードを選び、スペースキーを押して捨ててください。
  • 山札から1枚カードを引いた時に、手札の中で同じ絵柄が4枚そろえば、そのプレイヤーが勝ちとなり、ゲームが終了します。
  • 同じ絵柄が2枚・3枚とそろっても、イチゴカードを引いてしまうと、自分の手札が全て山札と自動的に入れ替わり、バラバラになってしまいます。

MixJuiceでダウンロードできます。
"MJ GET comich.net/ichigojam/ichigotrump.txt"

※(10/10修正、V1.1m)表示を少し変えて、mobile液晶環境に対応させました。

1 CLV:CLS:LET[90],5,5,0,2,5,0,11,2:FORN=1TO4:FORS=235TO245:[M]=S:M=M+1:NEXT:NEXT:GSB8:FORP=0TO3:Q=51+P*5:FORT=0TO2:M=M-1:[Q+T]=[M]:[M]=0:NEXT:GSB9:NEXT:FORN=1TO3:[M]=255:M=M+1:NEXT:GSB8
2 P=(P+1)&3:Q=51+P*5:D=RND(M):[Q+3]=[D]:[D]=0:GSB9:IF[Q+3]=255GSB17
3 IF([Q]=[Q+1])&([Q]=[Q+2])&([Q]=[Q+3])GOTO6
4 C=3:IFPGSB14 ELSEGSB12
5 WAIT9:[D]=[Q+C]:FORN=CTO3:[Q+N]=[Q+N+1]:NEXT:GSB9:GOTO2
6 BEEP9,30:G=P:GSB9:LC2,4:IFP?"*COM";P;ELSE?"*PLAYER";
7 ?" WIN*":END
8 FORN=1TO100:A=RND(M):B=RND(M):D=[A]:[A]=[B]:[B]=D:NEXT:RTN
9 Z=90+P*2:X=[Z]:Y=[Z+1]:LCX,Y:IFP?"COM";PELSE?"PLAYER"
10 LCX,Y+1:FORE=0TO3:F=[Q+E]:IFFIFP=G?CHR$(F);ELSE?CHR$(219);
11 NEXT:?" ":RTN
12 LCX+C,Y+2:?" ";:K=INKEY():C=C-(K=28)*(C>0)+(K=29)*(C<3):LCX+C,Y+2:?CHR$(226);:IFK!=32GOTO12
13 LCX+C,Y+2:?" ";:BEEP:RTN
14 FORE=0TO2:A=[Q+E]:FORF=E+1TO3:IF[Q+F]=A[80+E]=1:[80+F]=1
15 NEXT:NEXT:FORE=0TO2:IF![80+E]C=E
16 [80+E]=0:NEXT:RTN
17 IF!PBEEP30,9:WAIT60
18 FORC=0TO3
19 E=RND(M):F=[E]:IF(F=255)|(F=0)GOTO19
20 [E]=[Q+C]:[Q+C]=F:NEXT:GSB9:RTN

パソコンクラブの教材として、カードゲームのプログラムを取り上げたかったので、試しに作ってみました。
その昔「アタゴオル物語」を読んだ時から、いつかコンピュータゲームとして作ってみたいと思っていました。
(手札と山札が自動的に入れ替わるなんて、ファンタジー世界かコンピュータゲームでしかできない)。
作れて良かったです。

なお、「アタゴオル物語」作中の「ネズミトランプ」では、イチゴカードではなく猫カードになっていて、7枚あります。
プログラム開発当初はイチゴカードを7枚で作っていたのですが、いざプレイしてみるとしょっちゅうイチゴカードを引いてしまって、全然上がれません。そのため3枚に減らしました。

また「ネズミトランプ」では、手札以外のカードはテーブル上に1枚ずつ裏返しに並べられます(神経衰弱の要領)。そのため、自分が場に捨てたカードは、他のプレイヤーに引かれるか、猫カードで入れ替わるかしなければ、再び引くことができます。
現在のプログラムは1kバイト目一杯ですが、2スロット使えばその辺りの機能を実装できるかもしれません。
シンプルなカードゲームなので、アイテムカードやルールを追加して、いろいろ改造するのも楽しいでしょう。