I've got a class that represents a coin, which can be flipped with the Coin.Flip() method. Flip() uses random.Next(2); to get either a 0 or a 1 representing heads or tails. This works good.. sort of.
For the program, I need to have 2 coins, which I make, lets say coin1 and coin2.
coin2 always needs to be flipped straight after coin1, which I can do with:
coin1.Flip();
coin2.Flip();
That should work, right?
Well it doesn't! Every time I run those two lines of code, both coins end up with the same values as each other!
The face value is stored in face inside the Coin class, which is defined like this:
private int face;
I don't see anything wrong with what I've done, yet every single time I run the code, they end up identical.
Oh, also, random is defined in the Coin class as well like so:
private Random random = new Random();
Thanks for your help!
EDIT: Here's Flip(), it works now that random is static though.
public void Flip() {
face = random.Next(2);
}