SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

Life64

Ichigo64環境(IchigoJam+IchigoDot)用の、いわゆるライフゲームです。
生物シミュレーションなので操作は不要です。ライフが増えたり減ったりするのをひたすら眺めてください。

  • 起動するとタイトル画面が出ます。その後、ランダムにライフがばらまかれます。
  • ライフは自分の周囲8マスにいるライフの個数により、次の世代での生存が決まります。(画面の上下・左右はつながっています)
    • 0〜1個→死ぬ
    • 2個→そのまま
    • 3個→新しく生まれる
    • 4個以上→死ぬ
  • ライフが絶滅した場合、あるいは変化しなくなった場合は、リセットされて新たなパターンが始まります。
  • ループパターンになった場合はそのまま永久に終わらないので、ESCキーでプログラムを止めるか、IchigoJamをリセットしてください。なお計算速度を上げるために「VIDEO 0」で画面出力を止めているので、プログラムを止めた場合はF8キーを押して画面出力を戻してください。

1 'Life64
2 WAIT60:UART1:CLS:?:VIDEO0
3 CLV:?"MATLED SHOW 0097949794D400FF":PLAY"L8RGEC"
4 SRNDANA(2)+TICK()
5 '@RESTART
6 WAIT180
7 FORY=0TO7:[Y]=RND(256):NEXT
8 M=0:N=8:GSB30:BEEP
9 '@LOOP
10 L=0:K=0
11 FORY=0TO7:[N+Y]=0
12 FORX=7TO0STEP-1:C=0
13 FORE=-1TO1:FORD=-1TO1
14 U=(X+D)&7:V=(Y+E)&7
15 B=[M+V]&(1<0C=C+1
17 NEXT:NEXT
18 B=[M+Y]&(1<0B=1:C=C-1
20 Q=0
21 IFC=2Q=B
22 IFC=3Q=1
23 IFQ=1[N+Y]=[N+Y]+(1<QK=1
25 L=L+Q
26 NEXT:NEXT
27 M=8-M:N=8-N:GSB30
28 IFL>0&&K>0GOTO9
29 GOTO5
30 '@PRTMAT
31 ?"MATLED SHOW ";:FORZ=0TO7:IF[M+Z]<16?0;
32 ?HEX$([M+Z]);:NEXT:?:RTN