Консольная игра "ядерная угроза" для оценки - 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("Война закончилась так и неночавшись, фу слабак =)");
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д