A Connect Four game with console and web interfaces, supporting multiplayer, AI opponents, and cross-app game continuity.
dotnet run --project src/WebAppOpens at http://localhost:5000. Features: game lobby, multiplayer (two browsers), AI opponents, config management, piece-drop animations.
dotnet run --project src/ConsoleAppArrow keys to navigate menus and place pieces.
Both apps default to EF/SQLite with a shared database at ~/ConnectX/ConnectX.db, so games saved in one app appear in the other.
To use JSON file persistence instead:
# Console
dotnet run --project src/ConsoleApp -- --json
# Web
dotnet run --project src/WebApp -- --Persistence=JsonJSON files are stored in ~/ConnectX/config/ and ~/ConnectX/savegames/.
dotnet testsrc/
Domain/ Core game logic (GameBrain, GameConfig)
Application/ Services, DTOs, mappers, AI, repository interfaces
Infrastructure/ EF + JSON persistence implementations
ConsoleApp/ Console UI
WebApp/ ASP.NET Core Razor Pages UI
tests/
ConnectX.UnitTests/ Domain and application logic
ConnectX.IntegrationTests/ EF and JSON persistence
ConnectX.WebTests/ Web app integration tests