メインループに関して

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

メインループに関して

#1

投稿記事 by 甘井 » 12年前

初心者です。よろしくお願いします。

ちょっとゲームを作ってみようか、と勉強している最中です。
RPGを作ることを考えていまして、スタートメニューからキャラ選択し、ランダムでステータスを与える。
こんなところまで作りました。

しかし、今現在できているプログラムは、

↓main関数
↓NEW GAME or CONTINUE のどちらを押したかの判定
↓NEW GAMEを押されていたらキャラ作成関数へ
↓ランダムでステータスを与える。気に入らなかったらZボタンを押して再度乱数を与える
                        (終了が選ばれるまでループ)

こんな感じで一度もmain関数に戻っていません。
当然、ScreenFlip、ProcessMessage、ClearDrawScreenもキャラ作成関数の中で使われています。
main関数の最初にも使われています。

このままの作りでいきますと、HPに張られているリンクを踏んで次の場面次の場面、と移っていくような感じになり、
プログラムが終わる最後(ゲームを終了するを選んだ時)にmain関数に戻ってきて、終了。という形になってしまいます。

別にそれでいいのかな、と作っていたのですが、どこかでScreenFlip、ProcessMessage、ClearDrawScreenは一つだけしか使っちゃダメだよ。
的な文を見たような気がしまして、作り直そうか迷っている次第です。このままいくと各制御関数で一つずつ使っていくはめになってしまうので。
main関数に戻らなければならない、という意味を間違えて把握していたような気がしまして、確認をしたい、という次第です。

何かアホな質問かもしれませんが、よろしくお願いします。

ジョンソン

Re: メインループに関して

#2

投稿記事 by ジョンソン » 12年前

もしよければソースコードを貼ってもらえるませんか?
そのほうが質問に答えやすいです。
あと質問内容からある程度憶測できるとはいえ、
できれば開発環境なども明記してくださると質問に答えやすいです。

ScreenFlipなどの詳細についてはDXライブラリ本家サイトの
リファレンスを確認されるといいです。

http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html

メイン関数の書き方などについては新C言語を確認されるとよいでしょう。

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

Re: メインループに関して

#3

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

ここの「ゲームプログラミングの館」に常にmain関数に戻らないといけないと記載されています。例もありますよ。
http://dixq.net/g/
ぶっちゃけると、はじめてちゃんと書いたプログラムでそのまま完成まで行けることなんてのは、まずあり得ないので作り直しは必須だと思ってください。
今のうちに作りなおしたほうが良いと思います。
※ RPG作りの1%にも達していないので直すのは今のうちの方が簡単です。
ちなみに、ちょっと作るにはRPGは時間がかかるので向いているテーマではありませんよ。がっつり作るのに向いたテーマです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

甘井

Re: メインループに関して

#4

投稿記事 by 甘井 » 12年前

返信ありがとうございます。開発環境はVisual studio Express 2012 for Windows で C言語を利用しています。

ソースを貼り付けて長い説明文書いていましたが、省略しちゃってよさそうですね。
どこかでmain関数に戻らなければいけない。という文を見たような気がしたのですが、
何故か探し出すと見つからず、頭が沸騰してました。

時間がかかる分には問題ないです。作りたいなーとC入門のページ眺めてたら、
最後までいったら最初があやふやになり最初からになってしまいまして、
それを繰り返してるより建設的かなーと、慣れるために始めましたので。
最終的に出来上がったらいいなーとは思います。
本当にありがとうございました。

閉鎖

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