ページ 1 / 1
教えてください
Posted: 2010年1月19日(火) 18:07
by CSD
今、育成ゲームのようなものを、作っています。
添付ファイルを見てください。
分からないことは2つあります。
1.矢印(選択しているものを示したもの)がうまく動きません。
2.キャラのステータス(パワー、ディフェンス、スピード)が、うまく計算・表示が出来ません。
C言語の経験が浅いので、まだ本などに書いてあるコードを、解説を見て分かるくらいです。
無意味な計算があったら教えてください。
お願いします。

Re:教えてください
Posted: 2010年1月19日(火) 18:10
by Tororo
とりあえず名前を変えたらどうですか?
いつもの初心者さんじゃないみたいですし・・
Re:教えてください
Posted: 2010年1月19日(火) 18:50
by CSD
すいません。
この名前は使われていましたか。

Re:教えてください
Posted: 2010年1月19日(火) 21:31
by kazuoni
まず、「うまくうごきません」だと、
・質問者さんがどの様な動作を期待し、
・実際どのように動いているのか
が回答者側から分からないので、明確にするべきかと思います。
一応エスパーで回答を。
ぱっと見ただけですので、逸れてるかもしれませんが・・・
> 1.矢印(選択しているものを示したもの)がうまく動きません。
int arrow_yが矢印の移動制御の変数かと思うのですが、
これがローカル変数なので、関数に入るたびに変数が生成され、
arrow_y = 50;
で初期化されます。なので、例えば
static int arrow = 50;
とするとかすれば、ちゃんと変数が生存します。
> キャラのステータス(パワー、ディフェンス、スピード)が、うまく計算・表示が出来ません。
これこそ初めに行った事を追記していただかないと、
回答ができないかと思います。

Re:教えてください
Posted: 2010年1月20日(水) 00:02
by CSD
>まず、「うまくうごきません」だと、
>・質問者さんがどの様な動作を期待し、
>・実際どのように動いているのか
>が回答者側から分からないので、明確にするべきかと思います。
すいません。もう少し明確に書いておくべきでした。
1.矢印(選択しているものを示したもの)がうまく動きません。
については、
・すべての、項目(餌、運動、大会、セーブ、ロード)を選択できるようにしたいのですが、
・最初は、(餌)を選択しているんですけど、上下キーを押すと、運動とロードにしか、矢印がいきません。
キャラのステータス(パワー、ディフェンス、スピード)が、うまく計算・表示が出来ません。
については、
・food,movement,battle関数を呼び出すと、パワー、ディフェンス、スピードの値を変化したいのですが、
・パワー、ディフェンス、スピードの値を表示すると、初期化した値のまま変わりません。
お願いします。
Re:教えてください
Posted: 2010年1月20日(水) 02:03
by kazuoni
1については、さっき自分が書いた回答の様にしてみてください。
2についても1と似た様になりますが、
DrawMenu
↓
g_menu.selection = 0;
g_kyara.defense = 5;
g_kyara.power = 0;
g_kyara.speed = 10;
↓
Draw
↓
food,movement,battle関数により値変化
↓
DrawMenu
↓
g_menu.selection = 0;
g_kyara.defense = 5;
g_kyara.power = 0;
g_kyara.speed = 10;
↓
Draw
↓
・・・
これが流れです。結局は、値を0,5,0,10と代入し、出力してしまっているので、
結局は値は変化しません。
解決策としては、DrawMenuを一番初めに呼び出す前に、値の初期化(0,5,0,10と代入)
をするだけ専用の初期化関数を用意するとかです。
Re:教えてください
Posted: 2010年1月20日(水) 22:00
by CSD
分かりやすい回答ありがとうございます。
早速やってみるとできました。
また、お世話になるかもしれませんがよろしくお願いします。