タイトル画面

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

タイトル画面

#1

投稿記事 by 関東西人 » 12年前

今日初めてサイトを見させていただき
初めてC++をいじりました

サンプルのコードをいじって遊んでいたのですが
タイトル画面についての説明文が無いように思われます
(見逃しているだけかも知れません)

初歩的な質問で申し訳ないのですが
タイトル画面からゲームをプレイするには一体どうしたらいいのでしょうか


「こうしたら良いよ」とか「このサイト見やがれ」とか「ここ見直せ」などございましたら
よろしくお願いいたします

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: タイトル画面

#2

投稿記事 by softya(ソフト屋) » 12年前

ここのサイトの2つのページ
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
「龍神録プログラミングの館」
http://dixq.net/rp/
を全部勉強し見なくても同じぐらいのプログラムのソースコードが書けるぐらい理解すれば、タイトル画面がどうやって作れるかは自ずと理解できますよ。
龍神録の講座にタイトルがないのも、そうなってほしいと言う意味も込められています。
ちなみにちょっとしたヒントぐらいは書かれています。 → 【メインループで呼ぶ関数を制御してみよう】
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

赤鬼
記事: 58
登録日時: 13年前

Re: タイトル画面

#3

投稿記事 by 赤鬼 » 12年前

softya(ソフト屋) さんが書きました:ここのサイトの2つのページ
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
「龍神録プログラミングの館」
http://dixq.net/rp/
を全部勉強し見なくても同じぐらいのプログラムのソースコードが書けるぐらい理解すれば、タイトル画面がどうやって作れるかは自ずと理解できますよ。
龍神録の講座にタイトルがないのも、そうなってほしいと言う意味も込められています。
ちなみにちょっとしたヒントぐらいは書かれています。 → 【メインループで呼ぶ関数を制御してみよう】
うーん、どうでしょうか。
ゲームのメイン部分はアクションなど別種になっても作れると思いますがタイトル画面の作り方ってちょっとゲームメインの部分とは違うような。
せめて、一時停止とかあれば、簡単に応用出来ると思いますが。
ヒントとしては、メインループで呼ぶ関数を制御の所が一番ですね。
後はキー入力に対してのアクションや、そのグラフィックの移り変わりなどですね。
まあ、文章だけじゃ伝わりませんから一例として

コード:

static num=0;		//要素数の巡回用の識別子的なもの ゲームスタートやコンフィグ、exitなど
if(CheckStatePad(configpad.shot)==1){
	switch(num)){
		//此処らへんにゲームスタートとかコンフィグとかの処理へ移動する為の記述
	}
}
//上押したら上にカーソル移動
if(CheckStatePad(configpad.up)==1){
	num++;
}
//下押したら下にカーソル移動
if(CheckStatePad(configpad.down)==1){
	num--;
}
みたいな感じですかね。
また、これだと一番下とかに行った場合だと帰ってこないので要素数の頭に戻してやる処理or止める処理も必要ですから、まあ、雛形みたいなもんだと。
勿論メインのループは回さなくてはなりませんし、描画も同様です。
マウスを使う場合は全然別ですし、いろんな実装方法がありますよ。

追記
寝ぼけて間違えてた。
気が付いていてた人はそっとしてあげて下さい(笑)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: タイトル画面

#4

投稿記事 by softya(ソフト屋) » 12年前

赤鬼 さんが書きました:うーん、どうでしょうか。
ゲームのメイン部分はアクションなど別種になっても作れると思いますがタイトル画面の作り方ってちょっとゲームメインの部分とは違うような。
せめて、一時停止とかあれば、簡単に応用出来ると思いますが。
ヒントとしては、メインループで呼ぶ関数を制御の所が一番ですね。
ゲームプログラミングの館にmain制御の仕方と選択メニューの作りかたがあるのはご存知でしょうか?
それと【メインループで呼ぶ関数を制御してみよう】にはこう書かれています。
http://dixq.net/rp/6.html
メインループで呼ぶ関数はその時の状況によって様々になるでしょう。
つまりメインループで呼ぶ関数を制御する必要があります。
そこで、func_stateなる変数を用意し、それに状態を示す値を代入し、それを元に条件分岐させてやりましょう。
func_state変数をグローバル変数として用意したいので、まずGV.hに追加します。
いかがでしょうか?ヒントはちゃんと書かれていると思います。
まぁ、タイトル処理自体、私は誰かに見せるとか展示するとか提出しない限りプログラムに慣れるまで必要がないものだと思います。
【修正】ここは、初期入門者でもタイトルを作るヒントがあった方が良いと言う赤鬼さんとは意見の違う部分だと思いますが如何でしょう?
【追記】ただ、赤鬼さんのせっかくのヒントも関東西人さんには、まだ難しいと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

赤鬼
記事: 58
登録日時: 13年前

Re: タイトル画面

#5

投稿記事 by 赤鬼 » 12年前

softya(ソフト屋) さんが書きました: ゲームプログラミングの館にmain制御の仕方と選択メニューの作りかたがあるのはご存知でしょうか?
それと【メインループで呼ぶ関数を制御してみよう】にはこう書かれています。
http://dixq.net/rp/6.html
メインループで呼ぶ関数はその時の状況によって様々になるでしょう。
つまりメインループで呼ぶ関数を制御する必要があります。
そこで、func_stateなる変数を用意し、それに状態を示す値を代入し、それを元に条件分岐させてやりましょう。
func_state変数をグローバル変数として用意したいので、まずGV.hに追加します。
いかがでしょうか?ヒントはちゃんと書かれていると思います。
まぁ、タイトル処理自体、私は誰かに見せるとか展示するとか提出しない限りプログラムに慣れるまで必要がないものだと思います。
【修正】ここは、初期入門者でもタイトルを作るヒントがあった方が良いと言う赤鬼さんとは意見の違う部分だと思いますが如何でしょう?
【追記】ただ、赤鬼さんのせっかくのヒントも関東西人さんには、まだ難しいと思います。
ええ、ですが、それを見ただけで作れるでしょうか。
例えば他の関数の使い方だけを学んだとして、タイトル作れと言われて直ぐ作れる人は早々居ないと思います。
タイトルのアルゴリズムが分からなければ、コードの組みようが無いと思います。
つまり、色々な関数やwhile,for,switch等の使い方は知っているが、ゲームは作れない。
と同じような状況になると思います。
(フェードインやフェードアウトなどもあるでしょうし。でも、単純に’どれかのキーを押してゲームスタート’だけ存在するタイトルのミニゲーム位なら思い付きそうですが。他にも、ゲームが終了したらタイトルに帰ってこないといけない等)
他に自分で調べる必要も絶対にあると思います。
でも、このサイトに掲示してある項目を完全に出来るようになったら自分で調べてプログラムを組み上げる力も付けていかないといけないというのもあるのでしょうね。
最悪、ヒント位はネット上にもいくつも転がってますから。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: タイトル画面

#6

投稿記事 by softya(ソフト屋) » 12年前

そうですね。私はすぐ作れると言っていませんし、すぐ作ることをオススメもしていません。
そう書いているのですが、そう読み取れませんでしょうか?

ゲームプログラミングの館や龍神録の内容がほぼ理解できるぐらいソースコードを眺めて、コードを改造しまくり、自力で同じようなコード自分で書いてみるなど行為を繰り返した末にならタイトルの作りかたぐらいは自分で考えれるようになっているはずです。と最初から書いているつもりなんですが。
私の持論ですがプログラミングってそういうものではないかと思います。

赤鬼 さんとしては、どうすべきだと思われてのコメントでしょうか? 赤鬼 さんの文面から申し訳ないですがよく意図が組み取れてないのです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

赤鬼
記事: 58
登録日時: 13年前

Re: タイトル画面

#7

投稿記事 by 赤鬼 » 12年前

softya(ソフト屋) さんが書きました: ゲームプログラミングの館や龍神録の内容がほぼ理解できるぐらいソースコードを眺めて、コードを改造しまくり、自力で同じようなコード自分で書いてみるなど行為を繰り返した末にならタイトルの作りかたぐらいは自分で考えれるようになっているはずです。と最初から書いているつもりなんですが。
私の持論ですがプログラミングってそういうものではないかと思います。
そう言う意味でしたか。
その位理解しているなら作れると思いますね。
まあ、その位の人なら、作ってから分からないところを掲示板に持ってくるかと思います。

また、同じようなソースを書くだけなら、考えなくても覚えてしまえば書けてしまいます。
一番最初の文面を見て自分が思ったのはその位の理解出来た人です。
この場合、メインループ分かるけどタイトル処理どうするの?という状況になると思います。
勘が良い人や知っている人ならば、実際の流れは殆ど同じだと分かりますが、
タイトル処理がどういうものか知らない場合、検討も付かないかと思います。
なので、処理の流れの雛形か何か、考え方の方針になるようなものを掲示して、それを弄れるようにすれば理解の促進に繋がるのではと思いました。

つまり自分は、softyaさんが指しているのがどの程度理解出来た人なのか分かっていませんでした、申し訳ありません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: タイトル画面

#8

投稿記事 by softya(ソフト屋) » 12年前

赤鬼 さんが書きました: また、同じようなソースを書くだけなら、考えなくても覚えてしまえば書けてしまいます。
一番最初の文面を見て自分が思ったのはその位の理解出来た人です。
この場合、メインループ分かるけどタイトル処理どうするの?という状況になると思います。
勘が良い人や知っている人ならば、実際の流れは殆ど同じだと分かりますが、
タイトル処理がどういうものか知らない場合、検討も付かないかと思います。
なので、処理の流れの雛形か何か、考え方の方針になるようなものを掲示して、それを弄れるようにすれば理解の促進に繋がるのではと思いました。
そういうお考えで私と違うヒントを出されるのは良いと思います。
私のコメントに対して異論があるという書き方をされたので私も意図を説明させていただきましたが、ぜんぜん違う考えでヒントを出すことは問題ありません。
ただ、私が思うのは既にコメントしましたが赤鬼さんのヒントも初心者には難しすぎるのではないだろうかと思った次第です。関東西人さんのコメントがないのでコメント待ちなんですけどね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

赤鬼
記事: 58
登録日時: 13年前

Re: タイトル画面

#9

投稿記事 by 赤鬼 » 12年前

softya(ソフト屋) さんが書きました: そういうお考えで私と違うヒントを出されるのは良いと思います。
私のコメントに対して異論があるという書き方をされたので私も意図を説明させていただきましたが、ぜんぜん違う考えでヒントを出すことは問題ありません。
ただ、私が思うのは既にコメントしましたが赤鬼さんのヒントも初心者には難しすぎるのではないだろうかと思った次第です。関東西人さんのコメントがないのでコメント待ちなんですけどね。
そ、そうですね。始めて触るって言ってましたしね。
実際にプログラムを書かずに、流れだけ示せば良かったかもしれません。
それと、誤解を与えたかもしれませんが自分もsoftyaさんの意見にも賛成です、自分も同じ用な考えを持って居ますし。
ただ、出来る人なら簡単にこなせる事も出来ない人には難しいと思ったので、其処だけ念頭に置いて貰えると幸いです。

関東西人

Re: タイトル画面

#10

投稿記事 by 関東西人 » 12年前

色々とありがとうございました

そうですねとりあえずサイトに書いてあることを
もう一度読んで理解を深めてきます

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: タイトル画面

#11

投稿記事 by softya(ソフト屋) » 12年前

関東西人 さんが書きました:色々とありがとうございました

そうですねとりあえずサイトに書いてあることを
もう一度読んで理解を深めてきます
読むというより1命令づつ理解のためにコメントを書いてみてください。
さらに必ず手を加えて機能を変更・拡張してください。
あとソースをみずに同じ物を書けるか挑戦してもらうと完璧です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

関東西人

Re: タイトル画面 できました

#12

投稿記事 by 関東西人 » 12年前

メイン関数のfunc_stateのswitchでcase分けしたらできました!!

アドバイスありがとうございました!!

閉鎖

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