I am trying to create a clone of the game "freaking math" using unity 3d for experimental purposes to learn game design. It involves simple math problems which must be solved within 2 seconds. I have generated the maths problems and validating the answers but I am just not able to proceed further in creating the time limit with a bar at the top.
The game controller file that i used in my game is as follows:
How should i add the time limit in to this. Just like the game "freaking math"
I need a shrinking time limit bar with a time limit of 2 seconds.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameController : MonoBehaviour {
public Text MathText;
public Text ResultText;
public Text ScoreText;
public GameObject LosePanel;
public Text LosePanel_HighScoreText;
public Text LosePanel_ScoreText;
private int currentScore;
private int rightNumber;
private int leftNumber;
private int TrueResultNumber;
private int FalseResultNumber;
void Start()
{
currentScore = 0;
RandomMath ();
}
void RandomMath()
{
rightNumber = Random.Range (0, 10);
leftNumber = Random.Range (0, 10);
int mOperator = Random.Range (0, 2);
switch (mOperator) {
case 0:
TrueResultNumber=leftNumber+rightNumber;
MathText.text=leftNumber.ToString()+"+"+rightNumber.ToString();
FalseResultNumber=TrueResultNumber+Random.Range(-2,2);
ResultText.text="="+FalseResultNumber.ToString();
break;
case 1:
TrueResultNumber=leftNumber+rightNumber;
MathText.text=leftNumber.ToString()+"+"+rightNumber.ToString();
FalseResultNumber=TrueResultNumber+Random.Range(-2,2);
ResultText.text="="+FalseResultNumber.ToString();
break;
default:
break;
}
}
public void OnTrueButtonClick()
{
if (TrueResultNumber == FalseResultNumber) {
currentScore+=1;
ScoreText.text=currentScore.ToString();
RandomMath();
}
else {
LosePanel.SetActive(true);
LosePanel_ScoreText.text="Score: " + currentScore.ToString();
if(currentScore>PlayerPrefs.GetInt("HighScore"))
{
PlayerPrefs.SetInt("HighScore",currentScore);
}
LosePanel_HighScoreText.text="High Score: " + PlayerPrefs.GetInt("HighScore").ToString();
}
}
public void OnFalseButtonClick()
{
if (TrueResultNumber != FalseResultNumber) {
currentScore += 1;
ScoreText.text=currentScore.ToString();
RandomMath ();
} else {
LosePanel.SetActive(true);
LosePanel_ScoreText.text="Score: " + currentScore.ToString();
if(currentScore>PlayerPrefs.GetInt("HighScore"))
{
PlayerPrefs.SetInt("HighScore",currentScore);
}
LosePanel_HighScoreText.text="High Score: " + PlayerPrefs.GetInt("HighScore").ToString();;
}
}
public void OnPlayAgainButtonClick()
{
Application.LoadLevel (Application.loadedLevel);
}
}
↧