ホーム » Julia言語で入門するプログラミング(その13)

Julia言語で入門するプログラミング(その13)


「Julia言語で入門するプログラミング」第13回である。未読の方は第1回〜第12回読んで欲しい。

一覧はこちら

テストコードのメンテナンス

前回心残りだと書いたテストコードのメンテナンスをやってしまおう。引数に描画ツールが必要になるので渡すようにする。ただし、テストコード側では最終的に描画しないはずなので、nothingで良いはずだ。

#ui_test.jl
@testset "ダメージ < HP" begin
    c = createプレイヤー(HP=100)
    HP減少!(c, 3, nothing) #「描画ツール」の引数追加
    @test c.HP == 97
end

「テストコード側では最終的に描画しない」という仕様は、テスト側のコードではui_stub.jlの関数たちが呼ばれ、それらが何もしないと言うことで実現している。呼ばれるからには、ui_stub.jlにも引数を追加する必要がある。そして何もしない。

#ui_stub.jl
function HP減少ui処理!(防御者, 防御者ダメージ, 描画ツール) end #引数追加

このようなことを愚直に繰り返していく。その他、下記の1関数は追加が必要だった。

#ui_stub.jl
function 攻撃実行ui処理!(行動者, スキル::T通常攻撃, 描画ツール) end #関数追加

以上でテストコードの対応は完了するはずだ。テスト結果がオールグリーンになることを確認しておこう。

細かな改善

さて、UIの改善をもう少し進めていこう。次のターゲットはここだ。戦況表示だ。

*****プレイヤー*****
太郎 HP:100 MP:20
花子 HP:100 MP:20
遠藤君 HP:100 MP:20
高橋先生 HP:100 MP:20
*****モンスター*****
ボスドラゴン HP:400 MP:80
ミニドラゴン HP:50 MP:10
ミニドラゴン HP:50 MP:10
********************

うーん、縦の列がガタガタしている。できればこんなふうになって欲しい。

*****プレイヤー*****
太郎         HP:100 MP:20
花子         HP:100 MP:20
遠藤君       HP:100 MP:20
高橋先生     HP:100 MP:20
*****モンスター*****
ボスドラゴン HP:400 MP:80
ミニドラゴン HP:50  MP:10
ミニドラゴン HP:50  MP:10
********************

なんとかできないだろうか?

といったところで、文字コードに対する解説を書き始めたのだが、独立したページに切り出している。

ということで、今回の「Julia言語で入門するプログラミング(その13)」はこれにておしまい。ではまた次回ー!