Text wont change to correct value

So I’m not very experienced and I’ve been working on a game where you have to tap at the right time to get points. In this gamemode, if you don’t tap when the timer hits 0, or if you tap at the wrong time, you lose. When you lose, a text asks you if you would like to try again. Like this:
alt text

It works correctly when you tap at the wrong time, but if you don’t tap when the timer hits 0, the text changes to the wrong value. Like this:
alt text

The font size is supposed to change, but the text is supposed to say “Try Again?”
I’m sure it’s a simple fix, but I can’t figure it out. Here’s my code(js):

#pragma strict
var taptext : UI.Text;
var tapnumber : float;
var roundtapnumber : int;
var isStarted : boolean = false;
var wasClicked : boolean;
var score : int;
var scoretext : UI.Text;
var highscore : int;
var highscoretext : UI.Text;

function Start () {
	taptext.fontSize = 50;
	taptext.text = "Start";
}

function Update () {
highscore = PlayerPrefs.GetInt("cantmisshs");
scoretext.text = "Score: " + score;
highscoretext.text = "High Score: " + highscore;
if(isStarted == true) {
	roundtapnumber = Mathf.Round(tapnumber);
	if(tapnumber <= 0) {
		if(wasClicked == false) {
			gameOver();
			} else if(wasClicked == true) {
				wasClicked = false;
				}
			tapnumber = 10;
		} else if(tapnumber > 0) {
			tapnumber -= Time.deltaTime * 4;
			}
		if(roundtapnumber >= 10) {
			taptext.text = "" + roundtapnumber;
			} else if(roundtapnumber < 10) {
				taptext.text = "0" + roundtapnumber;
				}
	}
}

function isClicked () {
if(isStarted == false) {
	isStarted = true;
	taptext.fontSize = 80;
	tapnumber = 10;
	} else if(isStarted == true) {
		if(roundtapnumber == 0) {
			wasClicked = true;
			score += 1;
			if(score > highscore) {
				PlayerPrefs.SetInt("cantmisshs", score);
				}
			} else {
				gameOver();
				}
		}
}

function gameOver() {
isStarted = false;
score = 0;
taptext.text = "Try Again?";
taptext.fontSize = 25;
}

I’m usually not very good at explaining problems like this, so if you have any questions about what I’m trying to do, feel free to ask. Thanks in advance for any help :slight_smile:

I fixed it by adding a boolean that ticks after the first time you hit start, and adding the text change as an else if statement, like this:

var taptext : UI.Text;
var tapnumber : float;
var roundtapnumber : int;
var isStarted : boolean = false;
var wasClicked : boolean;
var hasBeenStarted: boolean;
var score : int;
var scoretext : UI.Text;
var highscore : int;
var highscoretext : UI.Text;

function Update () {
highscore = PlayerPrefs.GetInt("cantmisshs");
scoretext.text = "Score: " + score;
highscoretext.text = "High Score: " + highscore;
if(isStarted == true) {
	roundtapnumber = Mathf.Round(tapnumber);
	if(tapnumber <= 0) {
		if(wasClicked == false) {
			gameOver();
			} else if(wasClicked == true) {
				wasClicked = false;
				}
			tapnumber = 10;
		} else if(tapnumber > 0) {
			tapnumber -= Time.deltaTime * 4;
			}
		if(roundtapnumber >= 10) {
			taptext.text = "" + roundtapnumber;
			} else if(roundtapnumber < 10) {
				taptext.text = "0" + roundtapnumber;
				}
	} else if(hasBeenStarted == true) {
		taptext.fontSize = 25;
		taptext.text = "Try Again?";
		}
}

function isClicked () {
if(isStarted == false) {
	isStarted = true;
	taptext.fontSize = 80;
	tapnumber = 10;
	hasBeenStarted = true;
	} else if(isStarted == true) {
		if(roundtapnumber == 0) {
			wasClicked = true;
			score += 1;
			if(score > highscore) {
				PlayerPrefs.SetInt("cantmisshs", score);
				}
			} else {
				gameOver();
				}
		}
}

So when you click the first time, the boolean ticks, and whenever the game ends and is stopped, the text will change to “Try Again?”
I couldn’t figure out why it wouldn’t work in the gameOver function, but I got it to work with some sloppy code so I guess I solved it.