static void Game(ConnectClient connectClient) { char x; int y; VirtualArea MyArea = new VirtualArea(); VirtualArea EnemyArea = new VirtualArea(); //WebSetShips(MyArea, connectClient); RandomWebArea(MyArea, connectClient); bool GameIsPlaying = true; connectClient.WaitStartGame(); while (GameIsPlaying) { bool ImActive = connectClient.GetState(); connectClient.GetData(MyArea, EnemyArea); PrintGame(MyArea, EnemyArea); if (ImActive) { Console.WriteLine("Wait turn..."); Console.Write("x = "); x = Console.ReadKey().KeyChar; Console.Write("\ny = "); y = int.Parse(Console.ReadLine()); connectClient.Fire(x - 'a', y - 1); } else { connectClient.WaitData(); } } }
public static void WebSetShips(VirtualArea area, ConnectClient connectClient) { char x; int y, rotation, size; Ship[] ships = new Ship[10]; for (int i = 0; i < 10; i++) { size = GetSize(i); PrintStartWebGame(area); Console.WriteLine($"Розмір корабля: {size}"); Console.WriteLine("Встановлення нового корабля"); Console.Write("Напишіть координати корабля (маленька літера та координата)\nx = "); x = Console.ReadKey().KeyChar; Console.Write("\ny = "); if (!int.TryParse(Console.ReadLine(), out y)) { continue; } Console.Write("Вкажіть поворот корабля (0 - горизонтально, 1 - вертикально):"); rotation = int.Parse(Console.ReadLine()); ships[i] = new Ship(x - 'a', y - 1, rotation, size); if (area.SetShip(ships[i])) { i--; } } PrintStartWebGame(area); connectClient.SendArea(ships); }
static void RandomWebArea(VirtualArea area, ConnectClient connectClient) { Ship[] ships = new Ship[10]; for (int i = 0; i < 10; i++) { ships[i] = new Ship(Random.Next(0, 10), Random.Next(0, 10), Random.Next(0, 2), GetSize(i)); while (area.SetShip(ships[i])) { ships[i].X = Random.Next(0, 10); ships[i].Y = Random.Next(0, 10); ships[i].Rotation = Random.Next(0, 2); } } PrintStartWebGame(area); connectClient.SendArea(ships); }
public static void Connect(ConnectClient connectClient) { Console.WriteLine("Your ID: {0}", MyId); Console.WriteLine("Оберіть режим роботи: 1 - пошук, 2 - очікування"); if (Console.ReadLine() == "1") { int number; bool res = true; do { Console.Write(connectClient.GetWaiters()); Console.WriteLine("Очікується номер..."); number = int.Parse(Console.ReadLine()); if (number == -1) { res = true; continue; } res = connectClient.CreateConnection(number, out IdGame); } while (!res); connectID = number; } else { while (true) { string res = connectClient.WaitData(); string[] wants = res.Split(' '); if (wants[0] == "CI") { connectID = int.Parse(wants[1]); break; } } IdGame = connectClient.GetGameId(connectID); } Console.WriteLine("Connection successful!{0} {1}", MyId, connectID); Game(connectClient); }