Лично я создал приложение Connect4 с небольшим количеством искусственного интеллекта и использовал базу данных, чтобы «учиться» на своих ошибках, как мой проект Senior. Несколько советов, хотя:
- Не слишком усложняй вещи. Не сидите там и не пишите целую структуру для работы с несколькими игровыми досками или странными возможными настройками (например, добавление третьего игрока в микс).
- Использование хорошего шаблона и языка значительно упростит тестирование и отладку (мой любимый вариант - WPF с использованием MVVM).
Кроме того, если вы решите пойти по маршруту Connect4, вот как я настраиваю свои классы:
C4Board.cs
- Я превратил его в неизменный объект, представляющий состояние GameBoard.
C4Board Insert(int col)
вернет новую GameBoard или выдаст пользовательское исключение, если столбец будет заполнен.
- Я сделал его неизменным для работы с «историческим» списком состояний игры в представлении.
GamePlayer.cs
- Перечисление (NULL, P1, P2)
- Методы расширения, которые позволяют вам перейти от GamePlayer -> GamePiece
GamePiece.cs
- Перечень (ПУСТО, ЧЕРНЫЙ, КРАСНЫЙ)
- Методы расширения, которые позволяют вам перейти от GamePiece -> GamePlayer
GameWinner.cs
- Перечисление (NONE, P1, P2, TIE)
Это простая игра с простыми правилами, легко отделить вашу логику и добавить ИИ и т. Д. Это гораздо лучше, чем пытаться придумать игру в шахматы или игру в Го и т. Д.