上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
PCG本来の使い方と思いますが、定義キャラクタの切り替えで昔のロードランナーっぽい画面動作を作ってみました。

画面はこんな感じです。


動作は下の通り。ゲームとして完成はさせていませんのでキャラクタが動くだけですが、雰囲気は少しはでているでしょうか?


以下がキャラクタ定義です。先に実行します。SAVE0で保存しておくとよいと思います。

100 POKE#700,#18,#5a,#3C,#18,#18,#24,#24,#24
105 POKE#708,#18,#18,#3C,#5A,#18,#24,#24,#24
110 POKE#710,#30,#70,#38,#18,#3c,#18,#24,#22
115 POKE#718,#30,#70,#38,#58,#38,#18,#28,#46
120 POKE#720,#0c,#0e,#1c,#18,#1e,#18,#24,#44
125 POKE#728,#0c,#0e,#1c,#1a,#1c,#18,#14,#62
130 POKE#730,#d9,#d9,#bd,#9b,#9b,#a5,#e5,#85
135 POKE#738,#9b,#db,#bd,#d9,#d9,#a5,#a7,#a1
140 POKE#740,#5a,#5a,#7e,#18,#18,#24,#24,#42
145 POKE#748,#5a,#5a,#7e,#18,#18,#24,#42,#24
150 POKE#750,#81,#ff,#81,#81,#81,#ff,#81,#81
155 POKE#758,1,1,1,1,1,1,1,1
160 POKE#760,#80,#80,#80,#80,#80,#80,#80,#80
170 POKE#768,255,255,255,255,255,255,255,255
200 CLS
210 FOR I=0 TO #D:LC I*2,0:?HEX$(I+#E0):LC I*2,2:?CHR$(I+#E0);:NEXT
220 C=0:T=0
230 K=INKEY():C=0
240 IF K=28 C=1
250 IF K=29 C=2
260 IF K=30 C=3
270 IF K=31 C=4
280 LC 10,10:?CHR$(#E0+C*2+T):T=1-T
290 WAIT 10:GOTO 230


以下がメインプログラムです。SAVE1で保存すると良いと思います。


「スポンサードリンク」

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



10 CLS
20 FOR I=0 TO 22:LC0,I:?CHR$(1);:LC32,22-I:?CHR$(1);:NEXT
30 FOR I=1 TO 32:LC I,0:?CHR$(1);:LC33-I,22:?CHR$(1);:NEXT
40 FOR I=1 TO 10:LC I,6:?CHR$(1);:NEXT
50 FOR I=8 TO 24:LC I,11:?CHR$(1);:NEXT
60 FOR I=20 TO 32:LC I,16:?CHR$(1);:NEXT
70 FOR I=15TO21:LC28,I:?CHR$(#EA);:NEXT
80 FOR I=10TO15:LC22,I:?CHR$(#EA);:NEXT
90 FOR I=5TO10:LC9,I:?CHR$(#EA);:NEXT
100 X=15:Y=21:T=1:C=#E0:D=0
110 V=0:W=0:IF VPEEK(X,Y+1)=0 GOTO 300
120 K=INKEY()-28
130 IF K=0 AND VPEEK(X-1,Y)<>1 V=-1:C=#E2
140 IF K=1 AND VPEEK(X+1,Y)<>1 V=1:C=#E4
150 IF K=2 AND VPEEK(X,Y-1)=#EA W=-1:C=#E6
160 IF K=3 AND VPEEK(X,Y+1)=#EA W=1:C=#E6
170 IF K>=0 LC X,Y:?CHR$(D);:D=VPEEK(X+V,Y+W):BEEP 100,10
180 X=X+V:Y=Y+W:LC X,Y:?CHR$(C+T);:T=1-T
185 IF X=1 AND Y=5 GOTO 400
186 GOTO 110
190 'falling.
200 GOTO 120
300 B=100
310 T=1-T:BEEP B,10:B=B-10:WAIT15:LC X,Y:?CHR$(0);
320 IF VPEEK(X,Y+1)=1GOTO340
330 Y=Y+1:LC X,Y:?CHR$(#E8+T);:GOTO310
340 D=0:GOTO 120
400 'goal
410 LC 2,3:?"GOAL!";
420 PLAY"O4C16R16E16R16G16R16O5C"
430 WAIT 200:LC 0,20:END


なお、以下がほんとのロードランナー。相当違いますね(^^;


それではまたです。




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

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。