Воспользуюсь советом Made In USSR). Для лучшего понимания игры вот - http://www.boardgamer.ru/pravila-igry-castle-panic-na-russkom-yazyke
Ну тогда начну:
1) Вопрос: "Как сделать колоду карт, из которой по мере надобности извлекают карты?"
Ответ: Сделал массив, в котором каждый элемент соответствует карте (даже если они повторяются), а также элемент принимает значение "1" - если есть в колоде, "0" - если в игре и "2" - если на кладбище. Вот меня и интересует, такой подход оптимальный???
2) В игре Castle Panic (которую я пишу) есть понятие фазы. То есть в 1 фазу можно выполнять то-то и то-то, во 2 фазу то-то и т.д.
Вопрос: "Как сделать очередность фаз?"
Ответ: Просто ввёл глобальную переменную, которая отвечает за номер фазы. Оптимально???
3) В игре монстры появляются на внешнем кольце и постепенно двигаются к крепости.
Вопрос: "Как обозначить монстров на карте и вообще как с ними обращаться?"
Ответ: Также как и с картами, создал массив монстров. В каждой ячейке поля расположил объект. Изначально спрайт этого объекта - просто белый квадратик. Затем ввёл двумерный массив, в котором элементы - координаты поля. Этот массив может принимать значение номера монстра (как и с картами у каждого монстра есть свой номер). Если есть монстр в ячейке, то спрайт этого объекта меняется с "белого квадратика" на "чёрный крест". НО есть одна проблема: в каждой ячейке может быть не один монстр. И как быть?? Делать ещё один или несколько (в зависимости сколько монстров в одной ячейке) двумерных массивов?? Или же сделать по-другому: создать 2 массива, один отвечает за номер ряда, другой за номер кольца? И элементы этого массива будут номера монстров, а принимать значение номера ряда/кольца??
Пока это всё, что смог вспомнить) Надеюсь на ваши знания и желание помочь)))