Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Рулетка
{
class Program
{
private static object players;
static int Main(string[] args)
{
static Random rnd = new Random();
static void main(string[] args)
{
}
int bank = 30000;
const int minbet = 3000;
var Players = Players.getplayers();
while (true)
{
for (int i = 0; i < Players.count - 1; i++)
{
if ((Players[i].Money) <= 0)
{
Console.WriteLine($"{Players[i].Name} все проиграл");
continue;
}
var number = rnd.Next(0, 37);
Console.WriteLine($"{Players[i].Name} поставил на {number}:");
if (Win(number))
{
Console.WriteLine($"win (+) {minbet}");
players[i].Money += minbet;
bank -= minbet;
}
else
{
Console.WriteLine($"lose (-) {minbet}");
players[i].Money -= minbet;
bank += minbet;
}
Thread.Sleep(500);
}
if (players.Last().Money <= 0d)
{
Console.WriteLine("Вы всё проиграли!");
}
else
{
Console.WriteLine("Введите число 0-36");
int n = int.Parse(Console.ReadLine());
if (Win(n))
{
players.Last().Money += minbet;
Console.WriteLine($"win (+) {minbet}");
bank -= minbet;
}
else
{
players.Last().Money -= minbet;
Console.WriteLine($"lose (-) {minbet}");
bank += minbet;
}
}
var resu = players.Select(s => s.Money);
Console.WriteLine("Деньги");
Console.WriteLine(string.Join(" ", resu));
Console.WriteLine($"В банке {bank}");
Console.WriteLine(new string('*', 30));
Console.WriteLine("Press any key...");
Console.ReadKey();
if (IsGameFinished(players, ref bank))
break;
}
if (bank > 0)
Console.WriteLine("Выиграло казино!");
else
{
Console.WriteLine("Выиграл {0}", players.OrderByDescending(p => p.Money).First().Name);
}
Console.ReadKey();
}
static bool IsGameFinsined(List<SoundPlayer> players, ref int bank)
{
if (bank <= 0)
{
return true;
}
return players.Count(p => p.Money <= 0) == players.Count;
}
static bool Win(int number)
{
Console.ForegroundColor = ConsoleColor.Yellow;
int bet = rnd.next(0, 37);
if (number == 0 && bet == 0)
{
if (bet % 2 == 0)
Console.WriteLine("\tВыпали красные! ({bet})");
else
{
Console.WriteLine($"\tВыпали черные! ({bet})");
}
Console.ResetColor();
if (number % 2 == 0 && bet % 2 == 0)
return true;
if (number % 2 == 1 && bet % 2 == 1)
return true;
return false;
}
class Player
{
public string Name;
public double Money;
public static List<Player> GetPlayers()
{
List<Player> players = new List<Player>
{
new Player() { Name = "Бывалый", Money = 10000 },
new Player() { Name = "Новичок", Money = 12000 },
new Player() { Name = Environment.UserName, Money = 15000 }
};
return players;
}
}
}
Писал лёгонкую рулетку на c#,но что-то пошло не так и 19 ошибок. может кто сможет помочь?