ページ 11

コンテニューの仕方

Posted: 2013年12月03日(火) 00:14
by ptolemy
お久しぶりに投稿します。

前回で当たり判定ができるようになりました。

当たったらいちいちウィンドウを閉じて開く動作がめんどくさいので

Cのキーを押したらコンテニューができるというプログラムを書きたいです。

横スクロールで敵に当たったときにプレイヤーと背景と敵を最初の位置に戻したいです。

どうやって書けば良いのでしょうか?

説明が下手ですが回答宜しくお願いします。

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 10:57
by softya(ソフト屋)
まず、ゲームオーバーの状態とゲームプレイ中の状態を変数で持つ必要があります。
ゲームオーバー中なら、ゲームの進行を停止してGAMEOVERを表示してCキーが押されるのを検出します。

あと初期状態に戻すには、もう一度変数に初期の値を設定するだけです。

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 16:29
by ptolemy
回答ありがとうございます。

変数を持つということは、具体的に書くと
敵やプレイヤーの全てのif文にGameplay==1&&を追加して

当たったら
Gameplay=0

にし、Cを押すと

Gameplay=1

にすると元になるんですか?

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 16:34
by softya(ソフト屋)
敵やプレーヤーの処理は別の関数に分離すべきだと思います。
その関数自体を呼び出さなければ、ゲームは進行しません。
if文は、その関数を呼び出すかどうかの制御として使います。

ちなみに、初期状態に戻すのは別ですよ。

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 17:06
by ptolemy
お早い回答ありがとうございます。

敵とプレイヤーは、分割したいと思います。

初期の状態に戻すには1にするだけではならないのですか?

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 18:16
by softya(ソフト屋)
> 初期の状態に戻すには1にするだけではならないのですか?

Gameplay=1になったとして他の変数は変化しません。例えるなら、散らかった机(変数)は勝手に元に戻りません。
自分で一つ一つ元に状態に戻して下さい。

これの意味がよく分からないならC言語の入門で勉強されたほうが良いと思います。

Re: コンテニューの仕方

Posted: 2013年12月03日(火) 23:48
by ptolemy
有り難う御座います。

一つ一つ直せばいいんですね!

分かりやすい例もありがとうございます。

理解できたので早速試してみます。