上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
今日は早く帰れたので、ichigojamセミグラフィックを更新してデモを作成しました。

なお、考えたのですが、ichigojamについては以後ゲーム等の完成したAPとしてはアップしないことにしました。
こどもパソコンですから、素材・ノウハウだけを提供させていただいて、そこから発想と用途を自由に広げていただくのが
宜しいのだろうと。

ということで、今回はセミグラフィックルーチンとその応用例です。
以下のような絵が書けるようになります。



「スポンサードリンク」

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





セミグラフィックルーチンは以下の通りです。前回から少し修正と機能追加しました。
前々回のキャラクタ設定を先に実行しておく必要が有ります。)
>> 訂正@20150423PM23:元々#80-#8Fにセミグラフィックキャラクタがあり、PCGでの設定は不要と分かりました。
  下のコードもその対応に修正しています。



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)|#80):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))|#80):RETURN
220 '=== PGET X,Y (return Z) ===
225 Z=(X&1)+(Y&1)*2:W=X/2:V=Y/2:LC W,V:Z=(VPEEK(W,V)&(1<< Z)):RETURN
230 '=== HVLINE X,Y,U,S,T ===
235 FOR I=1 TO U:GOSUB 200:X=X+S:Y=Y+T:NEXT:RETURN




---------------------------------------------------
機能の説明: GOSUBでコールすることで以下が使えます。
---------------------------------------------------
200行 X,Yで指定された位置にドットを打ちます。
    V,W,Zを使用するので値が壊れます。
---------------------------------------------------
210行 X,Yで指定された位置のドットを消します。
    V,W,Zを使用するので値が壊れます。
---------------------------------------------------
220行 X,Yで指定された位置のドットがオンかオフか調べます。
    結果はZで帰ります。Z=0でオフ、Z>0でオンです。
    V,Wを使用するので値が壊れます。
---------------------------------------------------
230行 X,Yで指定された位置からUの数だけ線を引きます。
    線の方向は横方向をS,縦方向がTです。
    S,Tを2以上にすると点線にもなります。
    V,W,Zを使用するので値が壊れます。
---------------------------------------------------

グラフィックルーチンの応用例です。
10 '*******************
20 '** BALL BOUNCE ****
30 '*******************
100 CLS
110 X=0:Y=0:S=1:T=0:U=60:GOSUB 230
120 Y=39:X=59:S=-1:GOSUB 230
130 X=0:Y=0:S=0:T=1:U=40:GOSUB 230
140 X=59:Y=39:T=-1:GOSUB 230
142 X=20:Y=10:S=1:T=0:U=20:GOSUB 230
145 X=10:Y=20:S=1:T=0:U=20:GOSUB 230
146 X=30:Y=30:S=1:T=0:U=20:GOSUB 230
150 X=10:Y=10:D=1:E=1
160 GOSUB210:X=X+D:Y=Y+E:GOSUB 220:IF Z>0 X=X-D:GOSUB 220:Y=Y-E:IF Z=0 D=-D:BEEP50 ELSE E=-E:BEEP90
170 GOSUB 200
180 GOTO 160
190 END

動きはこちらで。



それではまたです。




2015.04.23 Thu l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿












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