Консольная игра «камень-ножницы-бумага» - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, нужна ваша помощь в решении данной задачи. Заранее благодарен Создать консольную игру «камень-ножницы-бумага». 1. Пользователь играет против Компьютера. 2. Необходимо создать класс «игрок» с полем «счет», в котором будет содержаться общее количество побед игрока. 3. Пользователь вводит с клавиатуры одно из указанных значений (или «камень», или «ножницы», или «бумага»), которое записывается в поле «бросок». 4. После этого, игрок «компьютер» определяет случайным образом свое значение (или «камень», или «ножницы», или «бумага») и записывает значение в поле «бросок». 5. Затем определяется победитель пары методом «сравнить» класса «игрок». В качестве аргументов метода передаются значения соответствующих полей объектов. Метод увеличивает значение поля «счет» соответствующего игрока. Если значения полей «бросок» совпадают (например, оба игрока выбрали «ножницы»), то счет не меняется. 6. Игра ведется до тех пор, пока пользователь не введет символ «*». После этого выводится счет «Пользователь» - «Компьютер». Note: Обращение к генератору случайных чисел может быть организовано следующим образом: Random random= new Random (); int answerCPU= random.Next (3); //метод возвращает случайное число от 0 до 2 Вот есть пару кодов, нужна помощь в правильной реализации, в соответствии с заданием
Листинг программы
  1. Random random = new Random();
  2. String[] items = new String[3];
  3. items[0] = «Stone»;
  4. items[1] = «Scissors»;
  5. items[2] = «Paper»;
  6. int coincidental = random.Next(items.Length);
  7. string coincidental2 = items[coincidental];
  8. Console.WriteLine1. Stone»);
  9. Console.WriteLine2. Scissors»);
  10. Console.WriteLine3. Paper»);
  11. Console.WriteYour choice is ? «);
  12. int Choice = int.Parse(Console.ReadLine());
  13. switch(Choice)
  14. {
  15. case 1:
  16. Console.WriteLineStone vs {0}», coincidental2);
  17. if (coincidental2 != items[0] && coincidental2 != items[2])
  18. Console.WriteLineYou Win.»);
  19. else if (coincidental2 != items[0] && coincidental2 != items[1])
  20. Console.WriteLineYou Lose.»);
  21. else
  22. Console.WriteLineYou Draw.»);
  23. break;
  24. case 2:
  25. Console.WriteLineScissors vs {0}», coincidental2);
  26. if (coincidental2 != items[1] && coincidental2 != items[0])
  27. Console.WriteLineYou Win.»);
  28. else if (coincidental2 != items[1] && coincidental2 != items[2])
  29. Console.WriteLineYou Lose.»);
  30. else
  31. Console.WriteLineYou Draw.»);
  32. break;
  33. case 3:
  34. Console.WriteLinePaper vs {0}», coincidental2);
  35. if (coincidental2 != items[2] && coincidental2 != items[1])
  36. Console.WriteLineYou Win.»);
  37. else if (coincidental2 != items[2] && coincidental2 != items[0])
  38. Console.WriteLineYou Lose.»);
  39. else
  40. Console.WriteLineYou Draw.»);
  41. break;
  42. }
  43. Console.ReadKey();
Листинг программы
  1. public static void Main()
  2. {
  3. //приветствуем пользователя и даем понять, что его ждет впереди
  4. Console.WriteLine(«Привет! Сыграем в одну игру?»);
  5. //начинаем выполнение цикла, который закончится только если пользователь введет слово выход или нажмет enter
  6. do
  7. {
  8. Console.WriteLine(«Выбирай камень, ножницы или бумага? Если надоело играть, введи выход");
  9. string userChoise=Console.ReadLine();//переменная содержащая выбор пользователя
  10. //прописываем завершение программы
  11. if (userChoise==»выход») break;
  12. if (userChoise==»") break;
  13. //имитация ИИ :)
  14. Console.Write(«А я выбираю «);
  15. string aiChoise «;
  16. Random ran=new Random();
  17. int ai=ran.Next(3);
  18. switch (ai){
  19. case 0: aiChoise=»камень»;
  20. break;
  21. case 1: aiChoise=»ножницы»;
  22. break;
  23. case 2: aiChoise=»бумагу»;
  24. break;
  25. }
  26. Console.WriteLine(aiChoise);
  27. //сверяем ответы и выводим результат
  28. switch (userChoise)
  29. {
  30. case «камень»:
  31. if (aiChoise == «камень») Console.WriteLine(«Ничья.»);
  32. if (aiChoise == «бумагу») Console.WriteLine(«Увы. Ты проиграл!»);
  33. if (aiChoise==»ножницы») Console.WriteLine(«Поздравляю. Ты победил!»);
  34. break;
  35. case «ножницы»:
  36. if (aiChoise == «ножницы») Console.WriteLine(«Ничья.»);
  37. if (aiChoise==»камень») Console.WriteLine(«Увы. Ты проиграл!»);
  38. if (aiChoise == «бумага») Console.WriteLine(«Поздравляю. Ты победил!»);
  39. break;
  40. case «бумага»:
  41. if (aiChoise == «бумагу») Console.WriteLine(«Ничья.»);
  42. if (aiChoise == «ножницы») Console.WriteLine(«Увы. Ты проиграл!»);
  43. if (aiChoise == «камень») Console.WriteLine(«Поздравляю. Ты победил!»);
  44. break;
  45. }
  46. }
  47. while(true);
  48. }
Листинг программы
  1. Console.Title= «GAME»;
  2. Console.WriteLine\n \t \t\t хотите сыграть с роботом?»);
  3. int vsegopobed =0;
  4. int vsegogames =0;
  5. do{
  6. Console.ForegroundColor=ConsoleColor.Green;
  7. Console.Write\n \n Cделайте выбор, напишитекамень\» \»ножницы\» \»бумагаиливыход: «);
  8. Console.ForegroundColor=ConsoleColor.Yellow;
  9. string vibor =(Console.ReadLine());
  10. int a=0;
  11. vsegogames++;
  12. Random random= new Random ();
  13. int answerCPU= random.Next (3);
  14. switch (vibor)
  15. {
  16. case «камень» : a=1; break;
  17. case «ножницы»: a=2; break;
  18. case «бумага»: a=3; break;
  19. case «выход»: a=4; break;
  20. default:
  21. Console.WriteLine(«Вы сделали ошибку!!!»);
  22. continue;
  23. }
  24. if ( a>3)
  25. {
  26. Console.WriteLine Программа должна закрыться, но я не знаю как это сделать))) продолжим:»);
  27. break;
  28. }
  29. if (a==answerCPU)
  30. {
  31. Console.WriteLine У нас поровну, давай сыграем еще раз.»);
  32. continue;
  33. }
  34. if ((a==1) && (answerCPU==3))
  35. {
  36. Console.WriteLine Робот выиграл, у него была бумага \n»);
  37. continue;
  38. }
  39. if ((a==2) && (answerCPU==1))
  40. {
  41. Console.WriteLine Робот выигралл, у него бил камень\n»);
  42. continue;
  43. }
  44. if ((a==3) && (answerCPU==2))
  45. {
  46. Console.WriteLine Робот выиграл, у него были ножницы\n»);
  47. continue;
  48. }
  49. if (a==100)
  50. {;}
  51. else
  52. {
  53. vsegopobed++;
  54. Console.WriteLine(«Поздравляю вы выиграл. У Вас было {0} попиток, но выиграли {1} игр.»,vsegogames ,vsegopobed);
  55. continue;
  56. }
  57. }
  58. while(true);
Листинг программы
  1. int Z;
  2. int P=0; int L=0;
  3. string word, EX;
  4. bool Выход = false;
  5. Console.WriteLine(«Добро пожаловать в игру Камень-Ножницы-Бумага!»);
  6. while (!Выход) {
  7. Console.WriteLine(«Что у вас? (ножницы/бумага/камень)? Для выхода наберите (выход).»);
  8. word = Console.ReadLine();
  9. word = word.ToLower().Trim();
  10. if (word == «выход») goto FINISH;
  11. Random random = new Random();
  12. Z = random.Next(3);
  13. switch (Z)
  14. {
  15. case 0: Console.WriteLine(«Компьютер выбрал камень!»); break;
  16. case 1: Console.WriteLine(«Компьютер выбрал ножницы!»); break;
  17. default: Console.WriteLine(«Компьютер выбрал бумага!»); break;
  18. }
  19. if (word == «камень»)
  20. {
  21. Console.WriteLine(«Ваш выбор » + word);
  22. if (Z == 0) { Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine(«Ничья»); }
  23. else if (Z == 1) { Console.BackgroundColor = ConsoleColor.Green; Console.WriteLine(«Вы победили»); P++; }
  24. else { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine(«Вы проиграли»); L++; }
  25. }
  26. else if (word == «ножницы»)
  27. {
  28. Console.WriteLine(«Ваш выбор » + word);
  29. if (Z == 1) { Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine(«Ничья»); }
  30. else if (Z == 2) { Console.BackgroundColor = ConsoleColor.Green; Console.WriteLine(«Вы победили»); P++; }
  31. else { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine(«Вы проиграли»); L++; }
  32. }
  33. else if (word == «бумага»)
  34. {
  35. Console.WriteLine(«Ваш выбор » + word);
  36. if (Z == 2) { Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine(«Ничья»); }
  37. else if (Z == 0) { Console.BackgroundColor = ConsoleColor.Green; Console.WriteLine(«Вы победили»); P++; }
  38. else { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine(«Вы проиграли»); L++; }
  39. }
  40. else
  41. {
  42. Console.WriteLine(«Ваш выбор неизвестен программе. Хотите выйти (да/нет)?»);
  43. EX = Console.ReadLine();
  44. EX = EX.ToLower().Trim();
  45. if (EX == «да») Выход = true;
  46. }
  47. Console.BackgroundColor = ConsoleColor.Black;
  48. }
  49. FINISH:
  50. Console.BackgroundColor = ConsoleColor.Green;
  51. Console.WriteLine(«Вы победили » + P + » раз!»);
  52. Console.BackgroundColor = ConsoleColor.Red;
  53. Console.WriteLine(«Вы проиграли » + L + » раз!»);
  54. Console.BackgroundColor = ConsoleColor.Black;
  55. Console.WriteLine(«Осуществляется выход, нажмите любую клавишу . . .»);
  56. Console.ReadKey();
Листинг программы
  1. namespace ConsoleApplication1
  2. {
  3. class CInterface //класс отрисовки интерфеса
  4. {
  5. public string name;
  6. public string Title;
  7. public string Query;
  8. public string[] face;
  9. public CInterface()
  10. {
  11. Title = "Игра: камень-ножницы-бумага";
  12. Query = "Нажмите любую клавишу чтобы повторить игру или Esc, чтобы выйти...";
  13. face = new string[21];
  14. face[0] = " -----------------------------------------------------------";
  15. face[1] = "| Игра: камень ножницы бумага |";
  16. face[2] = " -----------------------------------------------------------";
  17. face[3] = "| Введите слово: камень, ножницы или бумага.. |";
  18. face[4] = "| Ваш ход vs Компьютер |";
  19. face[5] = "| |";
  20. face[6] = "| |";
  21. face[7] = "| |";
  22. face[8] = "| |";
  23. face[9] = "| |";
  24. face[10] = "| |";
  25. face[11] = "| |";
  26. face[12] = "| |";
  27. face[13] = "| |";
  28. face[14] = "| |";
  29. face[15] = "| |";
  30. face[16] = "| |";
  31. face[17] = "| © 2014 Дементьев Владимир |";
  32. face[18] = " ------------------------------------------------------------";
  33. face[19] = "| |";
  34. face[20] = " ------------------------------------------------------------";
  35. }
  36. public void draw() //функция рисования пустого поля
  37. {
  38. Console.SetCursorPosition(0, 0);
  39. Console.Clear();
  40. for (int i=0;i<=20;i++)
  41. {
  42. Console.WriteLine(face[i]);
  43. };
  44. }
  45. }
  46. class CObject
  47. {
  48. public string[] obj = {"камень","ножницы","бумага"};
  49. public string user = null;
  50. }
  51. class Program
  52. {
  53. static void Main(string[] args)
  54. {
  55. CInterface iFace = new CInterface();
  56. Console.Title = iFace.Title;
  57. Console.ForegroundColor = ConsoleColor.Yellow;
  58. ConsoleKeyInfo keyCode = new ConsoleKeyInfo(); //начинаем обрабатывать нажатия клавиш
  59. CObject game = new CObject();
  60. while (keyCode.Key != ConsoleKey.Escape)
  61. {
  62. Console.Clear();
  63. iFace.draw();
  64. Console.SetCursorPosition(13, 6);
  65. game.user = Console.ReadLine();
  66. Random rand = new Random();
  67. int i = rand.Next(3);
  68. Console.SetCursorPosition(33, 6);
  69. Console.Write(game.obj[i]);
  70. Console.SetCursorPosition(21, 10);
  71. switch (game.user)
  72. {
  73. case "камень":
  74. if (game.obj[i]=="камень")
  75. {
  76. Console.Write("Ничья...");
  77. }
  78. if (game.obj[i] == "ножницы")
  79. {
  80. Console.Write("Вы победили..");
  81. }
  82. if (game.obj[i] == "бумага")
  83. {
  84. Console.Write("Вы проиграли...");
  85. }
  86. break;
  87. case "ножницы":
  88. if (game.obj[i] == "камень")
  89. {
  90. Console.Write("Вы проиграли...");
  91. }
  92. if (game.obj[i] == "ножницы")
  93. {
  94. Console.Write("Ничья..");
  95. }
  96. if (game.obj[i] == "бумага")
  97. {
  98. Console.Write("Вы победили...");
  99. }
  100. break;
  101. case "бумага":
  102. if (game.obj[i] == "бумага")
  103. {
  104. Console.Write("Ничья...");
  105. }
  106. if (game.obj[i] == "ножницы")
  107. {
  108. Console.Write("Вы проиграли..");
  109. }
  110. if (game.obj[i] == "камень")
  111. {
  112. Console.Write("Вы победили...");
  113. }
  114. break;
  115. default:
  116. {
  117. Console.SetCursorPosition(7, 10);
  118. Console.Write("Вы набрали неправильно слово. Попробуйте заново.");
  119. }
  120. break;
  121. }
  122.  
  123. Console.SetCursorPosition(3,19);
  124. Console.WriteLine("Для повтора нажмите любую клавишу. Еsc - выход");
  125. keyCode = Console.ReadKey(true);
  126. };
  127. }
  128. }
  129. }

Решение задачи: «Консольная игра «камень-ножницы-бумага»»

textual
Листинг программы
  1. Console.WriteLine("\n" +r + "\n");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут