# Can you have a while loop (or something similar) that can be satisfied if either of two conditions are met? [closed]

Let's say I have a game that ends where the user guesses what number was picked by a random number generator. They have a maximum of ten guesses and if they get 4 right the game ends.

If I declare a variable called winCounter and a variable called guessCounter can I make a while loop that continues while winCounter != 4 or guessCounter != 10?

-
`while winCounter != 4 or guessCounter != 10`? That's basically the code right there! –  MattDavey Nov 7 '12 at 21:18
learn about the && and || operators. Also you'd want inequalities instead of !=. –  whatsisname Nov 7 '12 at 21:20
Not quite that simple, @MattDavey. Consider if `winCounter` is `4`. `guessCounter` will still not be `10`, so the loop will continue until both conditions are met. –  Karl Bielefeldt Nov 7 '12 at 21:56

## closed as off topic by Robert Harvey, Walter, FrustratedWithFormsDesigner, gnat, YusubovNov 8 '12 at 0:08

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

The AND (`&&`) operator returns true if both of its arguments are true. Otherwise it returns false.

The OR (`||`) operator returns true if either of its arguments are true, otherwise false.

You want the loop to continue until either of the following conditions occurs:

• `winCounter >= 4` --- if they get 4 (or more) right, the game ends
• `guessCounter >= 10` --- if they guessed ten (or more) times, the game ends

Or, to put it another way, you want the loop to continue looping while both of these conditions remain true:

• `winCounter < 4`
• `guessCounter < 10`

We'll go with the latter since it's a simpler loop condition.

If either of these conditions is false, you want the loop to stop; you want the loop to continue only while both the conditions are true.

We can use the AND (`&&`) operator to tell us when either of the conditions stops being true -- because the `&&` will only return true if both of its arguments are true.

So, if we AND together `winCounter < 4` and `guessCounter < 10` then when either stops being true the `&&` will stop being true and that means we should exit the loop.

``````while ( (winCounter < 4) && (guessCounter < 10) )
{
...
}
``````
-