ユーザ用ツール

Ichigo Fields

概要

フルーツフィールドをIchigoJamで再現してみました。 但しメモリーが足りないので1ステージのみ実装しています。

IchigoFields

プログラム

1 CLS:CLV:CLP:W=~0:LET[0],W,W,W,W,W,W,W,W,W,W,W,W,#FFF,0,#E00,#F000,0,W,W,#543F,#152,0,0,#F050,W,W,W,#534F,W,W,W,W,W,W,W,W,W,W,W,W
2 FORX=0TO17:LCX,0:?CHR$(3):LCX,11:?CHR$(3):NEXT:FORY=1TO10:LC0,Y:?CHR$(3):LC17,Y:?CHR$(3):NEXT
3 X=0:Y=0:FORA=0TO9:FORB=0TO3:M=[A*4+B]:FORZ=0TO3:C=M>>(Z*4)&15:LC1+B*4+Z,1+A:?CHR$(!!C*(223+C-(C=15)*235+(C=5)*27)):R=R+(C=5):C=C-14:X=!C*(1+B*4+Z)+!!C*X:Y=!C*(1+A)+!!C*Y:NEXT:NEXT:NEXT
4 GSB9:LCX,Y:?CHR$(237):IF!RENDELSEK=INKEY():IF!KCONTELSEIFK=32BEEP:GOTO5ELSEH=(K=29)-(K=28):V=(K=31)-(K=30):LCX,Y:?CHR$(0):X=X+H:Y=Y+V:F=SCR(X,Y):IFF&&F<>255X=X-H:Y=Y-V:CONTELSEBEEP:R=R-(F=255):CONT
5 P=X+H:Q=Y+V:F=SCR(P,Q):IFF&~3<>224GOTO4
6 G=F&3:L=(G=1)-!G:W=(G=3)-(G=2):D=SCR(P+L,Q+W):C=!G*(H=-1)+(G=1)*(H=1)+(G=2)*(V=-1)+(G=3)*(V=1):IFABS(F-D)*(F&2=D&2)*C=1GOTO4
7 IFDIFCBEEP:LCP,Q:?CHR$(0):GOTO4ELSEGOTO4
8 LCP,Q:?CHR$(0):P=P+L:Q=Q+W:D=SCR(P+L,Q+W):IFDLCP,Q:?CHR$(F):GOTO4ELSECONT
9 LC0,12:?"ICHIGO FIELDS.":?"LEFT FRUITS ";R;". PHASE ";N+1;".":RTN

解説

マップデータは1行目で定義しています。 [0]~[39]に1ニブル(4bit)をひとます分として定義してあります。

値と対応するキャラクターは下表のようになっています。 IchigoJamのコードを短くするためにフルーツフィールド for PC-6001mkIIとは違っています。 一緒にすればコピペでマップを持ち込めたんですけれどねえ。

キャラクター
0空白
1
2
3
4
5イチゴ
14REMくん
15

マップデータこそ一面分しかありませんが、ゲームのロジックはすべて実装されていますので、そう考えると、IchigoJamもなかなかのものじゃないかと思います。

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information