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("Ты победил!"); lblInfoTable.Text = InfoTable(compChoice, userChoice); userCount++; } else if ((difCompUser == -1) || (difCompUser == 2)) { //MessageBox.Show("Победил компьютер!"); lblInfoTable.Text = InfoTable(compChoice, userChoice); compCount++; } else { //MessageBox.Show("Ничья!"); lblInfoTable.Text = InfoTable(compChoice, userChoice); } lblScore.Text = compCount.ToString() + " : " + userCount.ToString(); } private void BorderColor(Color bColor) { lblBCPaper.BackColor = bColor; lblBCRock.BackColor = bColor; lblBCScissors.BackColor = bColor; lblBUPaper.BackColor = bColor; lblBURock.BackColor = bColor; lblBUScissors.BackColor = bColor; } private void btnNext_Click(object sender, EventArgs e) { ImgEnabled(true); BorderColor(SystemColors.Control); } //Камень - 1, Бумага - 0, Ножницы - 2 //Ничья: 0, 2, 4. БК: 1. НБ: 2. КН: 3. private string InfoTable(int comp, int user) { int sum = comp + user; if (comp == user) { return "Ничья!"; } else if (sum == 1) { return "Бумага оборачивает камень!"; } else if (sum == 3) { return "Камень ломает ножницы!"; } else { return "Ножницы режут бумагу!"; } } } }