上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
昨日に続きましてセミグラフィックの応用を作ってみました。
基本のPSET,PRESET,PGETを3ルーチンです。

※先に昨日のキャラクタ定義を実行する必要が有ります。


「スポンサードリンク」

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




100 CLS
110 FOR I=0 TO 59:X=I:Y=0:GOSUB 200:Y=39:GOSUB 200:NEXT
120 FOR I=0 TO 39:X=0:Y=I:GOSUB 200:X=59:GOSUB 200:NEXT
130 X=3:Y=3:D=1:E=1
140 GOSUB 210
150 X=X+D:Y=Y+E:GOSUB 220:IF C=0 GOTO 170
160 X=X-D:Y=Y-E:IF (Y<2)OR(Y>37):E=-E ELSE D=-D
170 GOSUB 200
180 GOTO 140
190 END
195 '**********************
196 ' SEMIGRAPHIC ROUTINES
197 '**********************
200 '=== PSET X,Y ===
205 Z=(X&1)+(Y&1)*2:W=X/2:V=Y/2:LC W,V:? CHR$(VPEEK(W,V)|(1<< Z)|#F0):RETURN
210 '=== PRESET X,Y ===
215 Z=(X&1)+(Y&1)*2:W=X/2:V=Y/2:LC W,V:? CHR$(VPEEK(W,V)&(#F-(1<< Z))|#F0):RETURN
220 '=== PGET X,Y (return C) ===
225 Z=(X&1)+(Y&1)*2:W=X/2:V=Y/2:LC W,V:C=(VPEEK(W,V)&(1<< Z)):RETURN


・200行がPSET,210行がPRESET,220行がPGETです。
・X,Yにドット座標をセットしてそれぞれのサブルーチンをコールします。
・PSET,PRESETは戻り値無し。Z,V,Wの内容が破壊されます。
・PGETはCが戻り値です。Z,V,Wの内容が破壊されます。

190行まではとりあえずの3関数のテストです。壁を書いてボールがボールが中でバウンスします。



ブロックくずしにはすぐ応用ができますね。


2015.04.22 Wed l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿












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