フリーゲーム・フリーソフトの開発過程を記録していく、TDtechnic公式ブログです。製品はカテゴリの「ダウンロード場」からダウンロードして頂けます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

今日は!貴方の心僕の心に「牧野さん」、暁のブラックウルフです。
初の同日更新です。
>学 園(まなぶ その)様
初めまして。一回目はスルーしてしまいましたorz
PSPの件ですが、ググッてみた所、確かにCでは在る様ですが実際に使う関数はPSPのSDKの物と成る様です。要するに、純C言語を英語とするならPSPで記述するのはオーストラリア語と成るんでしょうかね。全体的な構文や識別子はそっくりでも、実際そのまま移植出来るかと言うと然うでもない。因みにC++はアメリカ英語と言った所でしょうか。互換性はとても高いです。どっちのコンパイラでもコンパイル出来たりします。
序に皆さんに質問をします(まあ、別に独断でやっても良い事ですが)。goto文は「ダメ。ゼッタイ。」的な扱いを受けてる様ですが、実際の所どうなのでしょう?現在作業中の同じ動作のコードを二つ作ってみましたので、どっちが効率的だとか、そもそも藻前は根本的に間違ってるとか、俺はゲームはやる一方だから(゚⊿゚)シラネとか、何か意見有りましたらコメどうぞ。


※LoadBack関数…背景読み込み
※Menu関数…渡された文字列・座標の配列と項目数を元に、直前に読み込んだ画像を背景とするメニューの表示

此方はwhileとswitchのみで制御しております。


while(1){
LoadBack(TEXT("START"));
LPCTSTR String[]={TEXT("P R E S S E N T E R K E Y")};
int x[]={320};
int y[]={400};
switch(Menu(String, 0, x, y, PORTRAIT, 1)){
case 0:{
LoadBack(0);
LPCTSTR String[]={TEXT("Q U E S T"), TEXT("Q U I C K R A C E"), TEXT("T I M E A T T A C K"), TEXT("F R E E R U N"), TEXT("O P T I O N")};
int x[]={250, 250, 250, 250, 250};
int y[]={80, 160, 240, 320, 400};
switch(Menu(String, TEXT("MENU"), x, y, PORTRAIT, 5)){
default:
break;
}
break;
}
default:
SendMessage(hWnd, WM_DESTROY, 0, 0);
}
}


此方は場面毎にラベルで定義しており、Menuで選ばれた選択肢によってgotoで飛ばして居ります。

START:{
LoadBack(TEXT("START"));
LPCTSTR String[]={TEXT("P R E S S E N T E R K E Y")};
int x[]={320};
int y[]={400};
switch(Menu(String, 0, x, y, PORTRAIT, 1)){
case 0:
goto MENU;
default:
SendMessage(hWnd, WM_DESTROY, 0, 0);
}
}

MENU:{
LoadBack(0);
LPCTSTR String[]={TEXT("Q U E S T"), TEXT("Q U I C K R A C E"), TEXT("T I M E A T T A C K"), TEXT("F R E E R U N"), TEXT("O P T I O N")};
int x[]={250, 250, 250, 250, 250};
int y[]={80, 160, 240, 320, 400};
switch(Menu(String, TEXT("MENU"), x, y, PORTRAIT, 5)){
default:
goto START;
}
}


goto文の方が場面別に纏まっていて僕には解り易く見えるのですが…HSPの頃から此の書き方なので慣れてるだけでしょうか。別にどっちでもゲーム内容は全く同じに成るので、プログラマーとして面倒を見て下さる方への質問です。失礼致します。
関連記事

[2011/12/03 19:49] | 首都高バトルTD
|
コメント:
この記事へのコメント:
コメント:を投稿
URL:

パスワード:
非公開コメント: 管理者にだけ表示を許可
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。