public void Turn(int gestureID) { CodeContract.Requires(gestureID > 0); CodeContract.Requires(i == winnersDict.Count); if (engine.players.Count != 1) { roundNumber++; console.AppendText("---------Round " + roundNumber + "---------" + Environment.NewLine); if (engine.players.ContainsKey("User")) { engine.players["User"] = gestureID; } else { console.AppendText(Environment.NewLine + "You are not in the game anymore" + Environment.NewLine + Environment.NewLine); } engine.GetAllCompGestures(); WriteAllGestures(); endTurnWin = engine.CalculateWinner(); if (endTurnWin == (int)gesture.rock) { console.AppendText(Environment.NewLine + "Rock wins." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == (int)gesture.paper) { console.AppendText(Environment.NewLine + "Paper wins." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == (int)gesture.scissors) { console.AppendText(Environment.NewLine + "Scissors wins." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == 4) { console.AppendText(Environment.NewLine + "Rock and paper tie." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == 5) { console.AppendText(Environment.NewLine + "Paper and scissors tie." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == 6) { console.AppendText(Environment.NewLine + "Scissors and rock tie." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == 0) { console.AppendText(Environment.NewLine + "Draw." + Environment.NewLine + Environment.NewLine); } else if (endTurnWin == 7) { console.AppendText(Environment.NewLine + "AN ERROR HAS OCCURED" + Environment.NewLine + Environment.NewLine); } if (engine.players.Count != 1) { if (engine.players.ContainsKey("User")) { console.AppendText("Make your next gesture." + Environment.NewLine + Environment.NewLine); } else { console.AppendText("Click any button to see the next round." + Environment.NewLine + Environment.NewLine); } } else { winnersDict.Add(i, engine.players.Keys.ToArray().GetValue(0).ToString()); if (winners.Items.Contains((winnersDict.Count(name => name.Value == engine.players.Keys.ToArray().GetValue(0).ToString()) - 1) + " ------ " + engine.players.Keys.ToArray().GetValue(0).ToString())) { winners.Items.Remove((winnersDict.Count(name => name.Value == engine.players.Keys.ToArray().GetValue(0).ToString()) - 1) + " ------ " + engine.players.Keys.ToArray().GetValue(0).ToString()); } winners.Items.Add(winnersDict.Count(name => name.Value == engine.players.Keys.ToArray().GetValue(0).ToString()) + " ------ " + engine.players.Keys.ToArray().GetValue(0).ToString()); i++; MessageBox.Show(engine.players.Keys.ToArray().GetValue(0).ToString() + " is the winner."); console.AppendText(engine.players.Keys.ToArray().GetValue(0).ToString() + " is the winner."); } } }