2024-10-06
長野県のリンゴといえば、IchigoJam+PanCakeの名作、りんごをさっちゃん


PanCakeと違ってモノクロなので、表現力をアップさせるため、8x8のキャラクターを4つ使った、16x16のキャラクターとして、dot2basを使ってリンゴづくり!


続いて、4x4のキャラクターで「さっちゃん」風をデザイン!

右向きだけでなく、左も向いてほしいですが、ここでちょっと横着、左右反転パターンはプログラムで作ってしまいましょう。

170 @FLIPH:FORI=0TO7:P=PEEK(C*8+I):Q=0:FORJ=0TO7:Q=Q|(P>>J&1)<<(7-J):NEXT:POKEC*8+I,Q:NEXT:RTN

上下反転と違って、左右反転は二進法を使ったビット演算を使うのでちょっと難しいですが、ひとつひとつ分解してみましょう。


4x4のキャラクターを表示させる実験。


「リンゴゲットゲーム」

さっちゃん風を左右キーで操作して、リンゴをゲットするゲーム!

全体像は、こんな感じ!

10 POKE#700,1,1,1,29,127,223,191,191,112,224,0,112,252,254,254,254,191,191,255,255,127,127,63,28,254,254,254,254,252,252,248,112 20 POKE#720,7,15,14,12,31,25,1,19,224,240,32,32,192,0,128,80,13,3,7,15,31,2,12,8,32,128,192,224,240,128,64,48 30 COPY232*8,228*8,8*4 40 FORC=232TO235:GSB@FLIPH:NEXT 50 X=15:A=RND(29):B=0:W=5:V=W:D=0:Y=15 60 CLS 70 LCX,Y:IF D GSB@PRELSEGSB@PL 80 LCA,B:GSB@PA:V=V-1:IF!VV=W:B=B+1:IFB=Y-1&&ABS(A-X)<3B=-1:P=P+1:BEEP:IFW>2W=W-1 90 IFB=Y+1?:?"GAME OVER":END 100 IFB=-1B=0:A=RND(29) 110 X=X-BTN(28)+BTN(29) 120 IF BTN(28)||BTN(29) D=BTN(29) 130 WAIT30:GOTO60 140 @PA:?CHR$(224,225,28,28,31,226,227);:RTN 150 @PR:?CHR$(228,229,28,28,31,230,231);:RTN 160 @PL:?CHR$(233,232,28,28,31,235,234);:RTN 170 @FLIPH:FORI=0TO7:P=PEEK(C*8+I):Q=0:FORJ=0TO7:Q=Q|(P>>J&1)<<(7-J):NEXT:POKEC*8+I,Q:NEXT:RTN

まだ、210byte空いているので、何か要素を追加してみてください!
10から40行までは、パターンの定義なので、別プログラムに分けてLRUNで連携することで大きく容量を空けることができます。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS