Hatena::ブログ(Diary)

【長剣は】最強武器候補【鈍器です】 このページをアンテナに追加

  • (OS X Carbon|Win32)+Cpp(03)+OpenGL+SDLでRPG作っています。
  • コメントはTwitter上でどうぞ。
  • twitter:Longsword (たまにprivateになってたらごめんなさい)

2010-02-03

十九日目:アイテム定義とかした

18:00

早めに帰ってこれたので、早めにコーディングします。

20:15

武器のリストを作りました。

いろいろ考えたすえ、こういう書式におちつきました。

using WT=WeaponType;

using (var x = new WeaponDef(WT.Dagger))
{
	x.Def("ナイフ     ", 0, 75, 80);
	x.Def("ダガー     ", 0, 75, 80);
	x.Def("メイジマッシャー", 0, 75, 80, WA.追加サイレス);
	x.Def("エアナイフ   ", 0, 75, 80, WA.風);
	x.Def("マンイーター  ", 0, 75, 80, WA.特効_人);
	x.Def("サスケの刀   ", 0, 75, 80, WA.ブロッキング);
	x.Def("とうめいのふく ", 0, 75, 80, WA.魅力倍増);
}

理由:

  • structなもので初期化してもよいと思いますが、新しいフィールドがでてきたときに漏れがでてきそうです。だから厭でした。メソッドで初期化することで、登録の一元化を図っています。
  • WeaponDef.Def()でなく、Def()な関数でも良いですが、WT.Daggerを延々とかかなければいけなくなるので却下です。コーディングポリシーとして、同じものを複数行に書くのはしないことにしてます。

データは全てソースに書くことにしているので、このぐらいがベターそうな気がします。そして、日本語コーディングの威力はすごい! 「WeaponAttribute.高いクリット率」とか、もう、21世紀すぎる。

21:06

アイテムはFF1/FF3/FF5をベースにしています。ただ、もとのアイテムは強力すぎるので、弱体化させることにしました。

具体的には、「ほのおのゆびわ」なんか、炎吸収、水無効なんて、トンデモな強さだと思うので、炎無効、水半減になる、という具合です。

21:58

お風呂はいってきて、続きを少し。アイテム定義をちょっとやって、今日は終了です。正味2時間というところでした。

トラックバック - http://d.hatena.ne.jp/Longsword/20100203/1265188279