アフィリエイト広告を利用しています
 

2023年10月09日

【ゲーム制作】3Dダンジョンロールプレイングゲーム 第23回



3Dダンジョンロールプレイングゲーム 第23回目です。

さて、開発順序として先に戦闘以外をすべて完成させる事にします。
前回書いた通り、戦闘のみ別プログラムにする可能性が出たからです。(2023年10月4日記事参照「【ゲーム制作】3Dダンジョンロールプレイングゲーム 第21回」)

と、言う訳で今回は残りのスクリプトを組むための準備として、メッセージ中に変数の値を表示する仕組みを考えます。
メッセージ中に変数の値を表示とは何か?
代表的な例は、ロールプレイングゲームならば必須のステータス表示ですね。
あとは、戦闘時のダメージ表示なんかですね。

実は、この2例、表示方法が異なるのです。
ステータス表示は右詰め。
ダメージ表示は左詰め。
シューティングゲームの得点表示とは異なり、頭の「0」は消す「ゼロサプレス」も必要です。

以前に「Laboratory」でやった、Laboratoryテーマ5「16ビットアドレス値の10進数表示」の表示部分を改造します。
そのままのロジックで表示させると、
10_9_1.png

これを改造し「ゼロサプレス」すると、
10_9_2.png

更に改造し、変数&HD005に桁数を代入しコールすると、指定桁数で右詰め表示されます。
桁数「4」で表示すると、
10_9_3.png

更に、変数&HD005に「0」を代入しコールすると、左詰め表示されます。
10_9_4.png

これが出来れば、ステータス表示(右詰め)や、店屋の商品値段表示(右詰め)、戦闘のダメージ表示(左詰め)等が出来るようになります。

改造内容は下記の通り。
16進数→10進数変換ロジックは、ほぼいじっていません。
10_9_5.png

表示ロジックは大幅に改造してあります。
直接VRAMに描き込まず、メッセージ表示ワーク内に、&HD005の値に応じて格納するように改造しました。
10_9_6.png
















INOUT
HL表示する値なし
DE格納先先頭アドレス


posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12250183
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
<< 2024年10月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード