無題

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

無題

#1

投稿記事 by yasya » 16年前

質問なんですが、RPGとかの戦闘シーンでパーティーを組んで複数人で戦うやつあるじゃないですか。ああいうのを今作ってるんですけど、どうやったらいいかよく分かりません^^;
一応、最初に数値を定義しておいて、その数値の大きいほうから順にプログラムを実行して、最後まで実行したらループするみたいなの作ればいいんじゃないかと自分で考えてんですが、どうしていいかわからず行き詰ってしまいました・・・。
どうしたらいいか教えて下さい。

管理人

Re:無題

#2

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

なかなか回答の難しい内容ですが、
こういうときはなるべくきっちりとした関数を作るのが解決に繋がると思います。

キャラクタのデータを渡したらそれを戦闘制御するような関数を作ったとします。

seigyo(charcter0);
seigyo(charcter1);
seigyo(charcter2);

のようにキャラクタデータ渡せば同様に制御してくれるような関数があれば汎用的に使えるかもしれません。
とにかく関数を汎用的に使えるように作ることでしょうか。

まぁ当然の事ですよね・・;
今どのようなシステムかわかりませんが
私もRPGはいくつか作りましたがアクティブタイムバトルは何かと制御がややこしかったので、
最初は普通の簡単なルールのRPGから作ってはどうでしょう。

yasya

Re:無題

#3

投稿記事 by yasya » 16年前

管理人さん、回答ありがとうございます^^
まあ、できるところまでやってみます。
あと、ついでと言っては何ですが、もう一つ質問させて下さい。
複数の数値の大小を比べるにはどうしたらいいでしょうか?

管理人

Re:無題

#4

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

複数の値が無いと比較出来ないと思いますが、
3つ以上の場合で、ifなどの条件式の組み合わせだけじゃ比較が難しい場合ってことですかね?
ソートしたらいいんじゃないですか?
3つならソートしなくてもif,else使えば比較出来るでしょうが、4つ以上になると難しくなりますよね。
単純ソート、バブルソート辺りがソートのプログラムとしては簡単です。
この際アルゴリズムの勉強したいとお思いなら
ヒープソート、クイックソート、基数ソートなども勉強してみるといいですよ。
クイックソートについてはこちらのHPでクイックソート解説アプリを配布しているので、
もしよかったら見て下さい。

yasya

Re:無題

#5

投稿記事 by yasya » 16年前

管理人さん、ありがとうございます。
とりあえず、ソートについて勉強したいと思います。

あと、返事が遅くなってすいません^^;

閉鎖

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