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