ページ 11

アイテムの個数について

Posted: 2009年7月13日(月) 21:23
by あ~る
お久しぶりです
龍神録プログラミングの館39、40章のアイテムを実装する所で、アイテムの実装には成功したんですが、いざアイテムの種類や個数を弄ってみようとしたらアイテムの種類は変えられたんですが、個数を変えるには何処をどう弄ればいいのかわかりませんでした…
自分でコードを読んで何とか理解しようとした限りでは多分
sizeof(enemy.item_n)/sizeof(int)
の数値を変えればいいと思うんですが、sizeofの意味を調べてみても、この一行の意味するところがわからず、いきずまってしまいました…
どなたかわかる片がいれば、ご教授お願いします

環境は
WindowsXP
BorlandC++
です
よろしくお願いします

Re:アイテムの個数について

Posted: 2009年7月13日(月) 21:31
by yu
enemy.item_n配列はint型の配列ですから、int型一個分の大きさで割ると
enemy.item_n配列の要素数が出ます

アイテムの個数を変えたのでしたら
enemy.item_n配列の要素数を増やせばよいと思います
struct.h に定義されていますよ

...ここまで言っておいてなんですが、間違っていたらすみません;

Re:アイテムの個数について

Posted: 2009年7月13日(月) 21:47
by あ~る
返信ありがとうございます!
ただ、一体の敵を倒した時に出て来るアイテムの個数を、敵によって色々変えられるようにしたいので、敵によって自由に数値を変えられるようにしたいのです…
書き方がわかりにくくてすいません…

Re:アイテムの個数について

Posted: 2009年7月13日(月) 22:35
by yu
>> ただ、一体の敵を倒した時に出て来るアイテムの個数を、敵によって色々変えられるようにしたいので、敵>> によって自由に数値を変えられるようにしたいのです…

では、item_n配列の要素数を敵一体が持つアイテムの最大数分の配列を確保してみてはいかがでしょうか
出すアイテムの種類、数は外部の csv で決定されています。

正し、ソースの変更点がいくつかあります

とりあえず、struct.h のitem_n配列の要素数の変更と
(enemy_t内とenemy_order_t内)

load.cpp 内の load_story()で
item_n[/url]に代入する処理と

enemy.cpp 内の enemy_enter()で
for(j=0;j<6;j++)
の 6 を item_n[/url] の要素数にする

もしかしたら、まだあるかもしれません・・・


以前自分もSTGでアイテムの出し方を考えましたが、
自分はソースに、アイテムが出る種類・数をパターン化してアイテムを登録しました
どちらが拡張性があって管理しやすいかはわかりません orz

Re:アイテムの個数について

Posted: 2009年7月13日(月) 22:53
by あ~る
返信ありがとうございます
教えて下さった事を参考に色々いじくってたら思った結果になりました!
ありがとうございました!