public void RPSGame(RPSEnum player, RPSEnum computer, int wins, int lose) { if (player != computer) { if ( (player == RPSEnum.Rock && computer == RPSEnum.Scissors) || (player == RPSEnum.Scissors && computer == RPSEnum.Paper) || (player == RPSEnum.Paper && computer == RPSEnum.Rock) ) { wins++;//it doesn't work why? } if ( (computer == RPSEnum.Rock && player == RPSEnum.Scissors) || (computer == RPSEnum.Scissors && player == RPSEnum.Paper) || (computer == RPSEnum.Paper && player == RPSEnum.Rock) ) { lose++; } } if (wins == 3) { //won = true; } if (lose == 3) { //won = false; //Where is mistake? } }
private int DetermineWinner(RPSEnum playerOneChoice, RPSEnum playerTwoChoice, RPSResult result) { bool output; if (WinStateDictionary.TryGetValue(Tuple.Create(playerOneChoice, playerTwoChoice), out output)) { if (playerOneChoice == RPSEnum.Rock) { result.RockWinCount++; } else if (playerOneChoice == RPSEnum.Paper) { result.PaperWinCount++; } else { result.ScissorWinCount++; } return(playerOne); } else if (WinStateDictionary.TryGetValue(Tuple.Create(playerTwoChoice, playerOneChoice), out output)) { if (playerTwoChoice == RPSEnum.Rock) { result.RockWinCount++; } else if (playerTwoChoice == RPSEnum.Paper) { result.PaperWinCount++; } else { result.ScissorWinCount++; } return(playerTwo); } return(0); }