自分は今rpgを作っているのですがロードする画像やbgm、セリフ、レベルごとのステータスの上がり値をswitch文を使いまとめようと思っています。
ですが、私は高1の雑魚c言語初心者なのでswitch文の処理の重さがどの程度なのかわかりません。
switch文はデータの整理に適してるのでしょうか?
やろうとしている事
switch (haikei){
case 0://始まりの村の背景
handle=loadgraph("画像/hajimari.png");
break;
case1~つづく
switch文を使った整理
Re: switch文を使った整理
int input(void);
void func(int);
int main(void) {
int x = input();
switch (x) {
case 0:
func(123);
break;
case 1:
func(456);
break;
case 2:
func(789);
break;
}
return 0;
}
どのコンパイラでも比較と条件分岐の連続になるようでした。
数十個~数百個程度の分岐であれば、おそらく画像のロードの方がはるかに重いでしょう。
場合によるでしょう。
例えば、文字列をキーにしてデータを取り出したい時には向きません。
「やろうとしている事」は、 のように配列でまとめる方がいいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文を使った整理
switch文でゲーム(シナリオやバトルシーン)の流れそのものを記述したいのであればc言語の機能だけではちょっと厳しいです。c言語は複数フレームにまたがる処理や平行して複数のオブジェクトを同時に処理する機能がないので、プログラマーがその部分を実装する必要があります。ゲームライブラリやスクリプトエンジンを利用する事で解決できますが、勉強や挑戦の意味で自分自身で作成したいのであればそれはそれでアリだと思います。
Re: switch文を使った整理
返信遅れてすみません。おかげさまで見やすくまとめることができました。
丁寧に教えていただきありがとうございます。
これから配列を使ってデータをまとめていこうと思います。
丁寧に教えていただきありがとうございます。
これから配列を使ってデータをまとめていこうと思います。