fc2ブログ
連休中だしもう一本作ってみました。全周スクロールゲームっぽい画面です。
ICHIGOJAMのSCROLL命令は4方向指定が可能で、しかもかなり高速なため、こういう応用ができるな、と思っていました。


「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">



まずはキャラクタ定義から。E0-E7に宇宙船っぽいキャラクタの8方向を定義しています。


100 POKE#700,#8,#8,#1C,#1C,#1C,#36,#36,#36
105 POKE#708,#00,#02,#C,#7C,#78,#78,#18,#18
110 POKE#710,#0,#0,#E0,#FC,#3F,#FC,#E0,#0
115 POKE#718,#18,#18,#78,#78,#7C,#0C,#2,#0
120 POKE#720,#36,#36,#3E,#1C,#1C,#1C,#8,#8
125 POKE#728,#18,#18,#1E,#1E,#3E,#30,#40,#0
130 POKE#730,#0,#7,#3F,#FC,#3F,#7,#0,#0
135 POKE#738,#0,#40,#30,#3E,#1E,#1E,#18,#18
200 CLS
210 FOR I=0 TO 7:LC I*2,0:?HEX$(I+#E0):LC I*2,2:?CHR$(I+#E0);:NEXT


次にメインを実行します。左右キーで方向が45度ずつ変わります。ゲームではなくSCROLLのデモなのでESCを押すまで走り続けます。

工夫として[0]-[7]に8方向のスクロール定義を2桁で格納しています。上の桁が9の場合は上下左右のいずれかスクロール、二桁とも9以外の場合は上または下、左または右と2回スクロールをするので斜めスクロールとなります。
スクロール後にスクロール方向と反対の辺に背景キャラ(.またはo)を描くことで背景が無限にスクロールできます。



20 '**** shoki settei ***
30 V=0:[0]=92:[1]=23:[2]=93:[3]=30:[4]=90:[5]=10:[6]=91:[7]=21
40 CLS:FOR Y=10TO20:LC 5,Y:FOR X=5TO20:?CHR$(1);:NEXT:NEXT:LC 10,5:?"GO!";:WAIT50:LC10,5:?" ";
50 FOR Y=0TO20:LC11,10:?" ";:SCROLL2:LC11,10:?CHR$(#E0);:LC RND(24),0:?".";:WAIT 15:NEXT
60 LC12,10:?" ";:F=50
70 '**** main loop ***
80 K=INKEY()
90 IF K=29:V=(V+1)%8:PLAY"C16"
100 IF K=28:V=V-1:PLAY"C16":IF V<0V=7
110 A=[V]/10:B=[V]%10:LC11,10:?" ";:SCROLL A:SCROLL B:LC11,10:?CHR$(#E0+V);
120 W=RND(23):IF RND(5)>3GOTO160
123 C=#2E:IF RND(10)<2 C=#4F
125 IF A=2 OR B=2 LC W,0:?CHR$(C);
130 IF A=3 OR B=3 LC 20,W:?CHR$(C);
140 IF A=0 OR B=0 LC W,23:?CHR$(C);
150 IF A=1 OR B=1 LC 0,W:?CHR$(C);
155 BEEP F,5:F=F-1:IF F<30 F=60
160 GOTO 80


ゲームの形にしてはありませんが、これで750バイトくらいなので、衝突判定やミサイル等を追加すると、昔見たようなゲームになると思います。

それではまたです。

2015.05.03 Sun l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿