привет, я новичок в программировании и на данный момент развиваю клон игровых линкоров. мне нужно реализовать флот из 5 кораблей. это то, что я сделал до сих пор:
класс Cell содержит статус ячейки таблицы:
public class Cell
{
// class for holding cell status information
public enum cellState
{
WATER,
SCAN,
SHIPUNIT,
SHOT,
HIT
}
public Cell()
{
currentCell = cellState.WATER;
}
public Cell(cellState CellState)
{
currentCell = CellState;
}
public cellState currentCell { get; set; }
}
класс GridUnit содержит информацию о ячейке таблицы:
public class GridUnit
{
public GridUnit()
{
Column = 0;
Row = 0;
}
public GridUnit(int column, int row)
{
Column = column;
Row = row;
}
public int Column { get; set; }
public int Row { get; set; }
}
наконец, класс Shipunit содержит оба вышеупомянутых класса и действует как оболочка для информации о состоянии отдельной ячейки:
public class ShipUnit
{
public GridUnit gridUnit = new GridUnit();
public Cell cell = new Cell(Cell.cellState.SHIPUNIT);
}
В данный момент я думаю о реализации информации о флоте в Jagged Array следующим образом:
ShipUnit[][] Fleet = new ShipUnit[][]
{
new ShipUnit[] {ShipUnit,ShipUnit,ShipUnit,ShipUnit,ShipUnit},
new ShipUnit[] {ShipUnit,ShipUnit,ShipUnit,ShipUnit},
new ShipUnit[] {ShipUnit,ShipUnit,ShipUnit}
new ShipUnit[] {ShipUnit,ShipUnit,ShipUnit}
new ShipUnit[] {ShipUnit,ShipUnit}
};
Я понимаю, что последний бит кода не работает. это только для представления идеи.
но проблема в том, что мне нужно поле, в котором указано, какой тип корабля представляет каждая строка зубчатого массива, и я не думаю, что целесообразно указывать эту информацию в каждой ячейке.
поэтому я хотел бы поделиться с вами некоторыми идеями по реализации этого вопроса.
спасибо.