Консольная игра "ядерная угроза" для оценки - C#
Формулировка задачи:
Выкладываю на общий суд, кансольную игру ядерная угроза!
Но игра еще сыровата,
Протестируйте код, и скажите как его сделать проще, грамотней, и мобильней,
и в каких местах я сделал ошибки,
При критике сделайте скидку на то что, я в программировании человек новый, и еще учусь!
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ядерная_угроза_занова { class Program { static void Main(string[] args) { int russhpitog = 100; int usahpitog = 100; char r = '1'; char u = '1'; //НАЗВАНИЕ ИГРЫ Console.WriteLine("Игра ядерная угроза"); Console.WriteLine(); Console.WriteLine("Хотите обьявить ядерную войну USA (y,n): "); for (; ; ) { m1: //Ссылка ДЛЯ ПОВТОРНОГО ЗАПУСКА КОДА try { //ВВОДИМ С КЛАВИАТУРЫ СИВОИ И САПИСЫВАЕМ ЕГО В 'S' r = char.Parse(Console.ReadLine()); } //ТУТ МЫ ГОВОРИМ ЕСЛИ МЫ ВВЕЛИ НИ Y ИЛИ НИ N ТО МЫ ПЕРЕХОДИМ ПО ССЫЛКЕ m1 catch (FormatException) { Console.WriteLine("Введены не верные параметры!"); goto m1; } if (r != 'y' && r != 'n') { Console.WriteLine("Введены не верные параметры!"); goto m1; } //УСЛОВИЕ ЕСЛИ ВЫ ОТКАЗАЛИСЬ ИГРАТЬ if (r == 'n') { for (;;) { Console.WriteLine("Война закончилась так и неночавшись, фу слабак =)"); } } if (r == 'y') { //Генератоор чисел Random rnd = new Random(); int rndat = rnd.Next(1, 3); for (int i = 0; i < 4; i++) { Console.WriteLine(); } Console.WriteLine(" USA Выпустела свою ракету"); Console.WriteLine(); //ПЕРВОЕ УСЛОВИЕ: ТУТ СКАЗАНО ЕСЛИ РАНДОМ = 1 И ВЫ ВВЕЛИ Y if (rndat == 1 && r == 'y') { Console.WriteLine(" но ракета не дошла до цели: потери 0% России"); //впринцепи russ должен ссылатся на itog но я незнаю как это зделать Console.WriteLine("Осталось " + russhpitog + "% От России "); Console.WriteLine(); Console.WriteLine(); Console.Write("Хотите атаковать в ответ (y,n): "); } //ВТОРОЕ УСЛОВИЕ: else if (rndat == 2 && r == 'y') { Console.WriteLine("ракета попала в цель: потери 25 % России"); // ЗНАЧЕНИЯ В ТОРЫЕ МЫ БУДИМ ПЕРЕВОДИТЬ STRING russhpitog -= 25; //ТО ЗАПУСКАИТСЯ STRING ATAKA2 //СКОЛЬКА У РОСИИ УРОНА Console.WriteLine("Осталось " + russhpitog + "% От России"); Console.WriteLine(); Console.Write("Хотите атаковать в ответ (y,n): "); for (int i = 0; i < 4; i++) { Console.WriteLine(); } } } //Вторая часть кода m2: //Ссылка ДЛЯ ПОВТОРНОГО ЗАПУСКА КОДА try { //ВВОДИМ С КЛАВИАТУРЫ СИВОИ И САПИСЫВАЕМ ЕГО В 'S' u = char.Parse(Console.ReadLine()); } //ТУТ МЫ ГОВОРИМ ЕСЛИ МЫ ВВЕЛИ НИ Y ИЛИ НИ N ТО МЫ ПЕРЕХОДИМ ПО ССЫЛКЕ m1 catch (FormatException) { Console.WriteLine("Введены не верные параметры!"); goto m2; } if (u != 'y' && u != 'n') { Console.WriteLine("Введены не верные параметры!"); goto m2; } //УСЛОВИЕ ЕСЛИ ВЫ ОТКАЗАЛИСЬ ИГРАТЬ if (u == 'n') { for (; ; ) { Console.WriteLine("Война закончилась так и неночавшись, фу слабак =)"); } } if (u == 'y') { //Генератоор чисел Random rnd = new Random(); int rndat = rnd.Next(1, 3); for (int i = 0; i < 4; i++) { Console.WriteLine(); } Console.WriteLine(" Россия выпустила свою ракету в ответ"); Console.WriteLine(); //ПЕРВОЕ УСЛОВИЕ: ТУТ СКАЗАНО ЕСЛИ РАНДОМ = 1 И ВЫ ВВЕЛИ Y if (rndat == 1 && u == 'y') { Console.WriteLine("но ракета не дошла до цели: потери 0% USA"); //впринцепи russ должен ссылатся на itog но я незнаю как это зделать Console.WriteLine("Осталось " + usahpitog + "% От USA "); Console.WriteLine(); Console.WriteLine(); Console.Write("Хотите атаковать в ответ (y,n): "); } //ВТОРОЕ УСЛОВИЕ: else if (rndat == 2 && u == 'y') { Console.WriteLine("ракета попала в цель: потери 25 % USA"); // ЗНАЧЕНИЯ В КОТОРЫЕ МЫ БУДИМ ПЕРЕВОДИТЬ STRING usahpitog -= 25; //ТО ЗАПУСКАИТСЯ STRING ATAKA2 Console.WriteLine(); Console.WriteLine(); //СКОЛЬКА У РОСИИ УРОНА Console.WriteLine("Осталось " + usahpitog + "% От USA"); Console.WriteLine(); Console.Write("Хотите атаковать в ответ (y,n): "); for (int i = 0; i < 4; i++) { Console.WriteLine(); } } } bool a = true; a = (russhpitog == 0); bool b = true; b = (usahpitog == 0); if (a) { for (int i = 0; i < 10; i++) { Console.WriteLine(); } Console.WriteLine(" РОССИЯ ПРОИГРАЛА В ВОЙНЕ"); Console.ReadKey(); break; } if (b) { for (int i = 0; i < 10; i++) { Console.WriteLine(); } Console.WriteLine(" АМЕРИКА ПРОИГРАЛА В ВОЙНЕ"); Console.ReadKey(); break; } } Console.ReadKey(); } } }
Решение задачи: «Консольная игра "ядерная угроза" для оценки»
textual
Листинг программы
//УСЛОВИЕ ЕСЛИ ВЫ ОТКАЗАЛИСЬ ИГРАТЬ if (r == 'n') { for (; ; )//вот он нужно так for (int i=0;i<5 ;i++ ) тогда надпись выведеш 5 раз но зачем? { Console.WriteLine("Война закончилась так и неночавшись, фу слабак =)"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д