Написать элементарную игру — при отображении страны необходимо выбрать столицу - C#
Формулировка задачи:
Здравствуйте!
Решил написать элементарную игру - при отображении страны, необходимо выбрать столицу.
Необходимо сделать так, чтоб при отображении страны, она больше не появлялась. И после того когда будут показаны все страны, произойдет завершение программы. Массив будет заполнен 40 странами.
class MyClass
{
static public string Metod()
{
string[] massiv = { "Испания", "Россия", "Украина" };
Random rand = new Random();
int strana = rand.Next(0, 3);
return massiv[strana];
}
}
class Demo
{
static void Main()
{
do
{
Console.WriteLine();
string st = MyClass.Metod();
Console.WriteLine(st);
switch (st)
{
case "Россия":
Console.WriteLine();
Console.WriteLine("1) Москва\n2) Мадрид\n3) Милан\n4) Афины");
Console.WriteLine();
int a = Convert.ToInt32(Console.ReadLine());
if (a == 1) Console.WriteLine("УРА! Молодец!");
else Console.WriteLine("Иди учи");
break;
case "Украина":
Console.WriteLine();
Console.WriteLine("1) Москва\n2) Мадрид\n3) Киев\n4) Афины");
Console.WriteLine();
int a1 = Convert.ToInt32(Console.ReadLine());
if (a1 == 3) Console.WriteLine("УРА! Молодец!");
else Console.WriteLine("Иди учи");
break;
case "Испания":
Console.WriteLine();
Console.WriteLine("1) Москва\n2) Мадрид\n3) Киев\n4) Афины");
Console.WriteLine();
int a2 = Convert.ToInt32(Console.ReadLine());
if (a2 == 2) Console.WriteLine("УРА! Молодец!");
else Console.WriteLine("Иди учи");
break;
}
}
while (true);
}
}Решение задачи: «Написать элементарную игру — при отображении страны необходимо выбрать столицу»
textual
Листинг программы
class Question
{
public string Country { get; private set; }
public string[] Versions { get; private set; }
public int Answer { get; private set; }
public Question(string country, int answer, params string[] versions)
{
this.Country = country;
this.Answer = answer;
this.Versions = versions;
}
}
class Program
{
static void Main(string[] args)
{
var ques = new List<Question>
{
new Question("Россия", 1, "Москва", "Мадрид", "Киев", "Афины" ),
new Question("Украина", 3, "Москва", "Мадрид", "Киев" ),
new Question("Испания", 2, "Москва", "Мадрид", "Киев", "Афины", "Минск"),
};
Shuffle(ques);
int i = 0;
while (i<ques.Count)
{
Console.WriteLine("Вопрос №{0}. Столица {1}", i+1, ques[i].Country);
foreach (var item in ques[i].Versions)
{
Console.Write("{0}, ", item);
}
Console.Write("\nВаш ответ: ");
int a = Int32.Parse(Console.ReadLine());
if (a == ques[i].Answer) Console.WriteLine("УРА! Молодец!");
else
{
Console.WriteLine("Иди учи!");
break;
}
Console.WriteLine(new string('-',30));
i++;
}
Console.ReadKey();
}
static void Shuffle(List<Question> list)
{
Random rand = new Random();
for (int i = list.Count - 1; i > 0; i--)
{
int j = rand.Next(i);
var temp = list[i];
list[i] = list[j];
list[j] = temp;
}
}