- (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
