Table of Contents
1 はじめに
Rogue+Wizライクなゲーム(仮称Daemon Lord)を作るプロジェクトの5回目です。久々ですが、パーティー表示ウインドウ、キャラクター作成、キャラクターのパーティー追加を作り込んでいました。
githubでコードを 公開 しています。MacとLinuxで動作確認していますが、Windowsは未対応です。
2 問題発生
パーティーウインドウを実装したのですが、メッセージウインドウと同時に表示するとマップ画面が妙に狭くて見づらくなる問題が発生しました。試行錯誤の結果、パーティーウインドウの右側にメッセージウインドウを固定し、その上側を全てマップスクロールウインドウとすることで画面を広く使えるようにしました。
今回からソースコードの引用は省略しますので、githubを参照してください。
daemon lord - dl - [maze] floor: 1 (23/5) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^##########################################################...## ^^^^^^^^^^^^^^^^^##########################################################...## ^^^^^^^^^^^^^^^^^###..........####################....#####################...## ^^^^^^^^^^^^^^^^^###..........####################....#####################...+. ^^^^^^^^^^^^^^^^^###..........############++++...+....#......##############...## ^^^^^^^^^^^^^^^^^###..........+......+..@.....+..+....+......+............+...## ^^^^^^^^^^^^^^^^^###..........########........+..###+++......################### ^^^^^^^^^^^^^^^^^###..........########........##.######......####.....########## ^^^^^^^^^^^^^^^^^###############################.######......####.....########## ^^^^^^^^^^^^^^^^^###############################.#########+######.....########## ^^^^^^^^^^^^^^^^^############.......############.#########.######.....+..+...### ^^^^^^^^^^^^^^^^^####.......*.......############+#########.######.....####...### ^^^^^^^^^^^^^^^^^####.#######.......#######..........#####+######.....####...+.. ^^^^^^^^^^^^^^^^^####.##########*##########..........####.....#####+######...### # name class ac hp status * east 1 socla G-FIG 10 11 OK Do you? (y/n) > n 2 flag G-BIS 10 9 OK * Input char: n 3 joe G-PRI 10 13 OK * east 4 * east 5 * north 6 * south
3 キャラクター作成
Wizardry的なキャラクター作成を実装しました。名前、種族(race)、アラインメントを選択したあと、年齢は指定できるようにしました。そしてボーナスポイントの振り分けです。カーソル >
をj, kで上下に動かし、h, lで値を増減させます。ボーナスポイントの再計算もできるようにしました。
daemon lord - dl - [training_grounds] floor: 1 (0/0) * Distribute bonus points h)minus j)down k)up l)plus .)change bonus x)done strength 10 iq 13 piety >13 vitality 8 agility 8 luck 9 bonus 0 * mage priest bishop
4 キャラクターのパーティー追加
キャラクターのパーティー追加ですが、キャラクターは20人まで登録可能なため、キャラクターを選択するメッセージウインドウの行数を超えてしまう場合があります。そこで、別ウインドウを開いてそこでスクロールしながら選択できるようにしました。下図で、 |
で挟まれて部分がキャラクター選択のための別ウインドウです。
登録されているキャラクターが多くてウインドウに収まらない場合はウインドウ内でスクロールするようにしています。キャラクターを x
で選択すると、画面左下のパーティーウインドウに反映されます。
daemon lord - dl - [hawthorne_tavern] floor: 1 (0/0) * *** trai| Add who to the party? | c)reate | - j)down k)up x)choose l)eave | i)nspect| > 1 prince Lv 1 ELF-N-MAG | l)eave | 2 michael Lv 1 ELF-E-BIS | Command?| 3 springsteen Lv 1 HUM-G-FIG | * *** Edge m)aze t)rainin l)eave game c)astle Command? > c * *** Castle *** h)awthorne tavern e)dge or town Command? > h * *** The Hawthorne Tavern *** Command? - a)dd r)emove i)nspect d)ivvy gold l)eave > a # name class ac hp status 1 jostle N-FIG 10 15 OK 2 3 4 5 6
5 次は、、
このままモンスターと遭遇すると全滅必至ですから、次は買い物してアイテムを装備出来るようにしましょうかね。ではまた。