public static void AutoShip() { LoadShips.LoadAllShips(); UnloadShips.UnloadAllShips(); SendShips.SendShipsDestination(Core.Config.shipdesttype); }
public List <SendShips> CheckPlayerReady(string player_id) { Player p = _dm.Ps.GetPlayer(convertId(player_id)); if (p.state != (sbyte)Player_States.readytoplay) { return(null); } Room r = _dm.Rs.GetRoom(p.roomid); var ships = new List <SendShips>(); sbyte singledesk = 1, doubledesk = 1, tripledesk = 1; for (int y = 0; y < p.field.Length; y++) { for (int x = 0; x < p.field.Length; x++) { if (p.field[y][x] == (sbyte)Field_Cell_States.ship) { bool fl = true; if (x - 1 >= 0 && p.field[y][x - 1] == (sbyte)Field_Cell_States.ship) { fl = false; } else if (y - 1 >= 0 && p.field[y - 1][x] == (sbyte)Field_Cell_States.ship) { fl = false; } if (fl) { sbyte deskcount = 1; char align = 'n'; int i = x + 1; while (i < p.field.Length && p.field[y][i] == (sbyte)Field_Cell_States.ship) { align = 'h'; deskcount++; i++; } if (align != 'h') { i = y + 1; while (i < p.field.Length && p.field[i][x] == (sbyte)Field_Cell_States.ship) { align = 'v'; deskcount++; i++; } } SendShips s = new SendShips(); s.x = (sbyte)x; s.y = (sbyte)y; s.align = align; switch (deskcount) { case 1: s.shipname = "singledesk" + singledesk.ToString(); singledesk++; break; case 2: s.shipname = "doubledesk" + doubledesk.ToString(); doubledesk++;; break; case 3: s.shipname = "tripledesk" + tripledesk.ToString(); tripledesk++;; break; case 4: s.shipname = "fourdesk"; break; } ships.Add(s); } } } } return(ships); }