論理回路シミュの開発で思い付いたので作ってみた二層構造のヘビゲーム
— 皆川 悶次郎/💾 (@MinamonOrigin) May 17, 2020
レイヤーを入れ換えてエサを食べていくだけ
自分の体を跨げるぶん難易度下がったはずなのに、たまに混乱してミスるw
#petitcom #プチコン4 pic.twitter.com/BTxTd6fpyW
配線が多くなると、表と裏の二層を使い分けて目的の箇所をつないでいく感じは確かにゲームに通じるものがありますね。
おもしろそうだったので、さくっと形にしてみましょう! IchigoJam編!
(RUN on IchigoJam web)
ざっくり解説する作り方。ひとまずおなじみ普通のヘビゲームを作ります。
1 'SINGLE-SIDED-HEBI 10 CLS:X=15:Y=5:A=-1:B=0:S=0:H=ASC("♥"):M=ASC("⚪"):GSB200 20 K=INKEY() 30 IF K>27 && K<32 A=(K=29)-(K=28):B=(K=31)-(K=30) 40 X=X+A:Y=Y+B 41 P=SCR(X,Y):IF P=H S=S+1:GSB200:P=0 42 IF P || X<0 || Y<0 || X>31 || Y>22 GOTO400 45 LC X,Y:?CHR$(M); 46 WAIT 5 50 GOTO 20 200 C=RND(32):D=RND(23):IF SCR(C,D) CONT ELSE LC C,D:?CHR$(H); 205 LC 0,23:?"SCORE:";S;:RTN 400 LC 10,10:?" GAME OVER ":WAIT60:CLK:FORI=0TO1:I=INKEY():NEXT:RUN
10 準備
20-50 メインループ(42 何か当たるか画面外で終了)
200-205 エサ表示サブルーチン
400 ゲームオーバー、リトライ処理
INKEY()でキー入力を受け付けて、向いている方向(A,B)にずっと動き続けるのがヘビゲーのおもしろさですね。
(RUN on IchigoJam web)
続いて、二層構造にしてみましょう。
1 'DOUBLE-SIDED-HEBI 10 CLS:X=15:Y=5:A=-1:B=0:S=0:F=0:H=ASC("♥"):M=ASC("⚪"):GSB200:GSB300 20 K=INKEY() 25 IF K=32 F=!F 30 IF K>27 && K<32 A=(K=29)-(K=28):B=(K=31)-(K=30) 40 X=X+A:Y=Y+B 41 P=SCR(X,Y):IF P=H || P=H+1 IF F=S&1 S=S+1:GSB200:P=0 ELSE GOTO400 42 IF P=F+M || P=M-1 || X<0 || Y<0 || X>31 || Y>22 GOTO400 45 LC X,Y:IF P=0 ?CHR$(M+F); ELSE ?CHR$(M-1); 46 WAIT 5 50 GOTO 20 200 C=RND(32):D=RND(23):IF SCR(C,D) CONT ELSE LC C,D:?CHR$(H+S&1); 205 LC 0,23:?"SCORE:";S;:RTN 300 C=M:GSB310:COPYC*8-8,C*8,8:C=H:GSB310:RTN 310 FORI=0TO7:POKEC*8+8+I,PEEK(C*8+I)&PEEK(24+I):NEXT:RTN 400 LC 10,10:?" GAME OVER ":WAIT60:CLK:FORI=0TO1:I=INKEY():NEXT:RUN
300-310 裏面用の網掛けした絵文字を作成するサブルーチン(追加)
25 スペースキーで裏表切り替え
41 エサは正しい面で取らないとゲームオーバーとしました
200 エサが出現する面は表と裏、交互にします
IchigoJam絵文字の白丸をキャラクターコード3の網掛け模様とビット論理積をとって合成する技! 45行で裏面表面、両方通っているところは一見わかりませんが、通れないようにしているところがポイントです。
両面基板の表裏を切り替える感を加えます。
500 C=H:GSB510:C=M:GSB510:RTN 510 T=224:COPYT*8,C*8,8:COPYC*8,C*8+8,8:COPYC*8+8,T*8,8:RTN 25 IF K=32 F=!F:GSB500
500-510 表パターンと裏パターンを交換するサブルーチン
25 スペースで切り替える時に呼び出すように追記
なかなか楽しいゲームになりました!
ワクをつけたり、ヘビの長さを制限したり、好みに合わせていろいろ改造するのが上達の近道!
ハイスコア、18点!
links
- こどもパソコン IchigoJam
- IchigoJam BASIC on the web by WebAssembly