残りは弾の発射だけ・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
chunezu

残りは弾の発射だけ・・・

#1

投稿記事 by chunezu » 16年前

あのあといろいろ試しているうちに自分のスレが消えてしまい返信できなくなっていました。
回答してくださった人、どうもすいませんでした。

まずはenemyとshot,bulletに分けました。
enemy(t)は望んだとおりの動きになるのですが、どうしてもそこから弾が発射されません。
ここからどうしたら良いでしょうか?

こんかいもプロジェクトを添付しました。
http://island.geocities.jp/nznz3102/DP.zip
もしかshot,bulletに分けられていない状態のプロジェクトでしたらご一報ください。

ご回答よろしくお願いします。

管理人

Re:残りは弾の発射だけ・・・

#2

投稿記事 by 管理人 » 16年前

ブレイクポイントは使ってみましたか?
どのように処理が行われているか変数の中身を確認したりしてみましたか?
ブレイクポイントを使い、少しずつ処理がどのようになっているか、
とくに弾が発射されないのならその辺で処理をとめ、
変数に期待する値が入っているかどうか確認してみて下さい。

Justy

Re:残りは弾の発射だけ・・・

#3

投稿記事 by Justy » 16年前


>どうしてもそこから弾が発射されません。
>ここからどうしたら良いでしょうか?

 いや、どうしたらいいって、それ以前の問題が・・・。

 配列の要素数を越えるアクセス、未初期化のローカル変数への参照、
forループにグローバル変数を使っていてその内部から呼び出した
関数内でもそのグローバル変数を使って forループしていたり、
とおおよそ正常に動作する見込みがありません。

 まず、そのあたりを改善されてはどうでしょうか?


 で、弾が発射されない問題ですが、ただ単に発射関数を呼んでいないからではないですか?
 shot_serch(search)とか enter_shot()とか検索しましたが、
使われているように見えませんし。



>まずはenemyとshot,bulletに分けました。

 えーと、前のスレも目を通しましたが、enemy/shot/bulletの何を分けたんでしょうか?

レク

Re:残りは弾の発射だけ・・・

#4

投稿記事 by レク » 16年前

前スレで管理人さんがループ上限を直すようにも、
tを使わないようにも言っていると思いますが、直ってないようですね。
まず質問する前に、前に言われた事をきちんと直してから聞くのが常識ではないでしょうか。

chunezu

Re:残りは弾の発射だけ・・・

#5

投稿記事 by chunezu » 16年前

ご返答ありがとうございます。
ご指摘を受けたところを改善してみた所、無事に動きました。本当にありがとうございました。

ただ、また問題が起きてしまいました。

kouzou.hの
/*定義*/
#define EnemyMax 50
#define ShotMax 30
#define BulletMax 200
#define PI 3.141592
の部分で、ShotMax、BulletMaxの値を増やすとプログラム自体が強制終了してしまいます。
↑の定義が使われているループには何度も目を通しましたが、原因は何だかわかりませんでした。
EnemyMaxも増やすと変な行動をしてしまいます。
どなたか分かる方ご指摘お願いします。

プロジェクトは前のアドレスと一緒です。

管理人

Re:残りは弾の発射だけ・・・

#6

投稿記事 by 管理人 » 16年前

修正されたプログラムを拝見できますか?

chunezu

Re:残りは弾の発射だけ・・・

#7

投稿記事 by chunezu » 16年前

すいません説明不足でした・・・

ただ、この問題は何度か再起動しているうちに直ってしまいました。

そのほかの問題も徹夜で頑張ってたら全て解決しました。
ご回答くだっさた皆様本当にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る