ZX81の回想禄

PR

×

プロフィール

ZX81

ZX81

カレンダー

コメント新着

コメントに書き込みはありません。

キーワードサーチ

▼キーワード検索

2026.04.21
XML

では、実際の計算方法を検討します。

まずは、重ね合わせるブロック文字の双方に対して0x80ビットをチェックします。
ビットが立っていれば、0x07で反転します。

その後orを取り、再び0x80ビットをチェックして0x07で再反転するものです。

// C言語の場合
unsigned char v;  // 対象データ
if (v & 0x80) {
    v ^= 0x07;    // 下位3ビットを反転
}


    ld   a, (value)
    bit  7, a
    jr   z, no_flip
    xor  0x07
no_flip:
    ld   (value), a
今回は、岩のパターンをベタ書きし、
その上に描画する渦、船、ワニなどを重ね合わせしていきます。

速度が遅いようならば、重ね合わせ用のブロックは
反転しないように持っておくのも手かもしれません。



また、この重ね合わせの処理は船の衝突判定時にも関係していて
岩などの障害物から船のブロックの差分を引いた時に
元のブロックイメージと異なる場合は衝突にしたいと考えています。

1ドットでも当たれば衝突となるので、シビアすぎるかもしれません。







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2026.04.21 12:57:03
コメントを書く
[ZX81C言語でのプログラム開発] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: