Daydreaming in Brookline, MA

DL-5; キャラクター作成

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 次は、、

このままモンスターと遭遇すると全滅必至ですから、次は買い物してアイテムを装備出来るようにしましょうかね。ではまた。