メニュー画面の選択肢で

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

メニュー画面の選択肢で

#1

投稿記事 by 猫好き » 15年前

シューティングを作ろうと思って、C++ならクオリティの高いゲームが作れるということで勉強中です。

メニュー画面で選択肢の表示はできましたが、
そこからゲームのプログラムへ移行するのにどうしたらいいかわかりません。

メニュー画面では関数をつかって、DXLIBのサイトに載ってある程度のことはできました。

ゲームのプログラムはまだできていないので、竜神録のサンプルを使わせてもらっています。

よろしくお願いします。

シエル

Re:メニュー画面の選択肢で

#2

投稿記事 by シエル » 15年前

switch(status){

 case 0:
//初期処理


case 1:
//メニュー処理


case 2:
 //ゲームメイン処理

}

として、それぞれの処理をわけておき、メニュー処理の中で選択肢に応じたstatusに遷移すればOK。

シエル

Re:メニュー画面の選択肢で

#3

投稿記事 by シエル » 15年前

あ、C++だったら違う方法の方が良さそうですね;

softya

Re:メニュー画面の選択肢で

#4

投稿記事 by softya » 15年前

>シューティングを作ろうと思って、C++ならクオリティの高いゲームが作れるということで勉強中です。

そうですね。C++などオブジェクト指向言語はうまく使いこなせせば保守性や拡張性、可読性が高まるのが特長で共同作業にもメリットがあります。ただ、うまく使えないと逆にデメリットが目立ってきます。
・開発工数がC言語よりも必要な場合がある。
・再利用出来るようにするのは簡単ではない。これはC言語にも言える問題です。
ひどい設計ならC言語の方が扱いやすい。
・C言語に比べて凄いゲームが出来るわけではない。

それと「龍神録」はオブジェクト指向設計されていませんので、ZEROから再構築しないとオブジェクト指向言語であるC++のメリットは生かせないと思います。

これが正解だ!ってのは無いのですが、参考サイトを挙げておきます。
DXライブラリ利用のものはありません。ご了承ください。

「クラスまみれのゲームプログラミング入門」IEじゃないと見れないかも。
http://www.tnksoft.com/reading/classgame/index.php
「本格的なシューティングゲームを実現するタスクシステム 」
http://codezine.jp/article/detail/297
「オブジェクト指向開発によるゲーム制作」
http://eis.yokkaichi-u.ac.jp/WBT/game/gameOOdesign.html

私ならシューティングのタスクシステムを採用して、メニューからゲーム本編の遷移はタスクシステムの仕組みを使うでしょう。

猫好き

Re:メニュー画面の選択肢で

#5

投稿記事 by 猫好き » 15年前

>シエルさん

的確な指示ありがとうございます。

>softyaさん

なるほど。
確かに、今は高度なC++でも、私のような初心者ではうまく扱えないかもしれません。
教えてくださったサイトをよく読んでおきます。

Dixq (管理人)

Re:メニュー画面の選択肢で

#6

投稿記事 by Dixq (管理人) » 15年前

オブジェクト指向はすぐにパっと理解出来るものではないですよね。
ピュアCの経験が長ければ余計にそう思うと思います。

今の館は完全な
「ピュアC」
しかないので、次に、
「コンパイルはピュアCで出来るけど、書き方はオブジェクト指向っぽい」
設計の仕方の館を作り、次に
「完全なC++のオブジェクト指向」
の館を作れたらいいなと思っています。

・・って言うのは質問の趣旨とは関係無いですね^^;

なるべく他のモジュールに依存しないように設計すると良いプログラムになっていくと思います。
例えばメニュー画面を切り離したらシューティング画面は機能しないようなプログラムだと、
今回せっかくメニュー画面を作っても次回の作品に流用できないでしょう。

シエルさんが仰っているように制御部からある関数を呼ぶだけでメニュー画面が機能するような設計をされると良いと思います。
まずは完全に別々で作ってやり、次にくっつけて動かす。

そして共通化出来る所を探し、依存しないように共通化するように作っていくとよいと思います。
共通化出来る所と言えば例えばインターフェイス回りであったり画面・メッセージ制御などが考えられるのではないかと思います。

猫好き

Re:メニュー画面の選択肢で

#7

投稿記事 by 猫好き » 15年前

管理人さん、解決を選択したのにわざわざ返事をしてくださってありがとうございます。

確かに、一度作れば次回作も作りたくなりますので、
汎用性の高いメニューのプログラムを作りたいです。

共通化できるところといえば、(東方みたいなやつで)
ノベル表示、立ち絵の表示などといったとこでしょうか・・・。

ひとまず、そういうことも考えながら、やってみようと思います。

閉鎖

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