У меня есть несколько комментариев к вашему коду:
1-е сообщение c следует рассматривать как нечто уникальное. Это что-то вроде глобального значения, которое используется всеми экземплярами объекта
Начиная с Документация Microsoft по стати c
стати c член вызывается в классе, даже если экземпляр класса не создан. Член stati c всегда доступен по имени класса, а не по имени экземпляра. Существует только одна копия элемента stati c , независимо от того, сколько экземпляров класса создано.
С учетом этого ваш класс Boat
станет:
public class Boat
{
// This class is made for storing the meta-data of each individual boat
// Determines the start point
public int[,] pos = new int[xBoardSize, yBoardSize];
// Determines the direction of the boat (0 = horizontal, 1 = vertical)
public int direction = 0;
// Keeps track of the boat's size
public int length = 1;
// Keeps track if tile is hit or untouched
public int[] stateList;
}
Теперь ваши лодки должны стать частью вашей доски с отношением Has-A
:
public class Board
{
private Boat[] boats;
public Board(Boat[] boats) {
// initialize th boats for the specific game
this.boats = boats
}
Boat SearchForBoat (Vector2 coords)
{
foreach (Boat boat in boats)
{
for (int i = 0; i < boat.length; i++)
}
}
// These variables determine the size of the board
int xBoardSize = 10;
int yBoardSize = 10;
}
Затем вам нужно инициализироваться через конструктор и использовать указанные c instance