views:

58

answers:

2

I have an sqlite table that shows scores from different game modes. In one of the columns, I don't want the score to show up unless the user reaches the final 5th level, but I also don't want it to be recorded as a 0 either. I want it to be as if the game was never played. No score recorded at all. Here's what I have....

 if(appDelegate.easymediumhard == 2 && gameVarLevel == 5){

            if(gameVarLevel == 5){
            globalScore = timeSeconds;
            }
else if(gameVarLevel != 5){
    ????????????
    }

        }

Now I know i need the else if statement but I don't know what it should be.

A: 

don't do anything in the else. don't even have an else.

blindJesse
it automatically gets set to a zero if i don't write the else
NextRev
I would assume globalScore would be undefined in that case or a default value set before the 'if' statment.
Jeff B
I thought that's what he wanted
blindJesse
A: 

The solution is to move your table write to inside the if statement. I would assume it currently comes at some point after, but I don't know because you didn't post that part.

Edit:

If your write is in a different part of your program as you say, then you either need a separate variable to track a valid score, i.e. bool scoreValid, or you need to set your score to something you know is not valid, such as -1 for instance.

Then in the code that writes the table, check if the score is valid, and only write if it is.

For instance, your code would be such:

if(appDelegate.easymediumhard == 2 && gameVarLevel == 5){

       globalScore = timeSeconds;
       scoreValid = YES;

} else {

      scoreValid = NO;

}

I am making a bunch of assumptions cause I don't know your real requirements for a valid score, but that is the idea.

Jeff B