プログラム研究 備忘録

java,C#,Unity等の備忘録です。経済理論も少し。

ゲームルール

・一定時間が経過すると終了

・プレイヤーのHPが0になると終了

・ボスを倒すとゲームクリア

 

まずは一定時間

 

ゲームオーバーのフラグ、クリアを二つ用意。

 

Update関数内で残り時間を減算し、0以下になったらGameOver関数が呼ばれる。

 

public class GameRuleCtrl : MonoBehaviour {
// 残り時間
public float timeRemaining = 5.0f * 60.0f;
// ゲームオーバーフラグ
public bool gameOver = false;
// ゲームクリア
public bool gameClear = false;

void Update()
{
timeRemaining -= Time.deltaTime;
// 残り時間が無くなったらゲームオーバー
if(timeRemaining<= 0.0f ){
GameOver();
}
}

public void GameOver()
{
gameOver = true;
Debug.Log("GameOver");
}
public void GameClear()
{
gameClear = true;
Debug.Log("GameClear");
}
}

 

次にプレイヤーHP

 

プレイヤーのCtrlでDied関数で

gameRuleCtrl.GameOver();

を呼び出すようにする。

 

Bossを倒したら同じように・・・

 

void Died()
{
status.died = true;
dropItem();
Destroy(gameObject);
if (gameObject.tag == "Boss")
{
gameRuleCtrl.GameClear();
}
}

 

Died()をいじる。