using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace rps_v2 { public partial class Form1 : Form { int compCount = 0; //Количество побед компьютера int userCount = 0; //Количество побед Игрока public Form1() { InitializeComponent(); } private void label5_Click(object sender, EventArgs e) { } private void imgRock_Click(object sender, EventArgs e) { lblBCRock.BackColor = Color.Green; lblBURock.BackColor = Color.Green; ImgEnabled(false); WhoWinner(1); } private void imgPaper_Click(object sender, EventArgs e) { lblBCPaper.BackColor = Color.Green; lblBUPaper.BackColor = Color.Green; ImgEnabled(false); WhoWinner(0); } private void imgScissors_Click(object sender, EventArgs e) { lblBCScissors.BackColor = Color.Green; lblBUScissors.BackColor= Color.Green; ImgEnabled(false); WhoWinner(2); } private void ImgEnabled(bool choice) { imgRock.Enabled = choice; imgPaper.Enabled = choice; imgScissors.Enabled = choice; } //Выбор знака компьютером //Камень - 1, Бумага - 0, Ножницы - 2 private int CompChoice() { Random rnd = new Random(); int compChoice = rnd.Next(0,3); switch (compChoice) { case 0: lblBCPaper.BackColor = Color.Red; if (lblBUPaper.BackColor != Color.Green) lblBUPaper.BackColor = Color.Red; break; case 1: lblBCRock.BackColor = Color.Red; if (lblBURock.BackColor != Color.Green) lblBURock.BackColor = Color.Red; break; case 2: lblBCScissors.BackColor = Color.Red; if (lblBUScissors.BackColor != Color.Green) lblBUScissors.BackColor = Color.Red; break; } return compChoice; } //Определение победителя private void WhoWinner(int userChoice) { int compChoice = CompChoice(); int difCompUser = compChoice - userChoice; if ((difCompUser == -2) || (difCompUser == 1)) { MessageBox.Show("Ты победил!"); userCount++; } else if ((difCompUser == -1) || (difCompUser == 2)) { MessageBox.Show("Победил компьютер!"); compCount++; } else { MessageBox.Show("Ничья!"); } lblScore.Text = compCount.ToString() + " : " + userCount.ToString(); } } }