Random.Next можно ли вывести значение? - C#
Формулировка задачи:
Здравствуйте! Я создаю новое случайное число, а затем хочу вывести его на консоль. Но только вместо числа пишется тип данных что ли я не понимаю. Я решил эту проблему просто создав ещё одну переменную, куда сразу помещается значение случайного числа. Но я хотел бы спросить можно ли как-нибудь обойтись без создания новой переменной? Спасибо.
int Unit1Health = 100;
int Unit2Health = 100;
Random Unit1Damage = new Random();
Random Unit2Damage = new Random();
int Unit1DamageNum = 0;
Console.WriteLine("Unit2Health = {0}", Unit2Health);
while (true)
if (Unit2Health > 0)
{
if (Console.ReadKey().Key == ConsoleKey.Enter)
{
Unit2Health = Unit2Health - Unit1Damage.Next(1,11);
Unit1DamageNum = Unit1Damage.Next(1,11);
Console.WriteLine("Unit1Damage = {0}", Unit1Damage);
Console.WriteLine("Unit2Health = {0}", Unit2Health);
}
if (Unit2Health <= 0)
{
Console.WriteLine("Юнит 2 погиб");
Unit2Health = 100;
Console.WriteLine();
Console.WriteLine("Unit2Health = {0}", Unit2Health);
}
}
Console.ReadKey();
Я знаю, что будут два разных значения для
Unit2Health = Unit2Health - Unit1Damage.Next(1,11);
Unit1DamageNum = Unit1Damage.Next(1,11);Решение задачи: «Random.Next можно ли вывести значение?»
textual
Листинг программы
static void Main()
{
do
{
int Unit1Health = 100;
int Unit2Health = 100;
Random UnitDamage = new Random();
int Unit1Damage = 0;
int Unit2Damage = 0;
bool victory = false;
Console.WriteLine("==========");
Console.WriteLine("Юнит 1 (Здоровье) = {0}", Unit1Health);
Console.WriteLine("Юнит 2 (Здоровье) = {0}", Unit2Health);
Console.WriteLine("==========");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
while (Console.ReadKey().Key == ConsoleKey.Enter)
{
Unit1Damage = UnitDamage.Next(1, 11);
Unit2Health = Unit2Health - Unit1Damage;
Console.WriteLine("==========");
Console.WriteLine("Юнит 1 Атакует");
Console.WriteLine("----------");
Console.WriteLine("Юнит 1 (Урон) = {0}", Unit1Damage);
Console.WriteLine("----------");
Console.WriteLine("Юнит 2 (Здоровье) = {0}", Unit2Health);
Console.WriteLine("==========");
Console.WriteLine();
if (Unit2Health <= 0)
{
Console.WriteLine("==========");
Console.WriteLine("Юнит 1 - Победил");
Console.WriteLine("Юнит 2 - Погиб");
Console.WriteLine("==========");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
victory = true;
break;
}
Unit2Damage = UnitDamage.Next(1, 11);
Unit1Health = Unit1Health - Unit2Damage;
Console.WriteLine("==========");
Console.WriteLine("Юнит 2 Атакует");
Console.WriteLine("----------");
Console.WriteLine("Юнит 2 (Урон) = {0}", Unit2Damage);
Console.WriteLine("----------");
Console.WriteLine("Юнит 1 (Здоровье) = {0}", Unit1Health);
Console.WriteLine("==========");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
if (Unit1Health <= 0)
{
Console.WriteLine("==========");
Console.WriteLine("Юнит 2 - Победил");
Console.WriteLine("Юнит 1 - Погиб");
Console.WriteLine("==========");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
victory = true;
break;
}
}
if (!victory)
{
Console.WriteLine("\nВыход из сражения");
break;
}
} while (true);
Console.ReadKey();
}