Skip to content

HomeWork

Project: Uno Cardgame

https://en.wikipedia.org/wiki/Uno_(card_game)

HW01

*** DeadLine 2023-10-29 23:59:59 ***

Implement console based:
* menu system * game business logic * initial human player based gaming logic * saving and loading of game state from json files

HW02

*** DeadLine 2023-11-12 23:59:59 ***

Implement
* save-load etc games from database (using ef) (interface based repo) * universal shared console input methods (prompt, validation, range, etc)

Bonus - implement menu system using arrows and colors/backround_colors, selecting cards with arrows etc.

HW03

*** DeadLine 2023-12-17 23:59:59 ***

Implement Uno console play flow fully, supporting both json and DB backend (switchable in code).
Single user interface - ie one game at a time, all players taking turns using the same computer (prompt for player change).
Game is fully playable, game engine and ui are separated from each other. Support for AI based players (game might have only AI players).
Game must be configurable - for example: amount of players, player type (ai/human), amount and type of cards, rules for what cards are allowed to play when, etc.

HW04

*** DeadLine - HW defence ***

Implement Uno game in web, using Razor Pages (NOT MVC and minimal amount of JS). Game in web must use the same game engine and json/db as console app.
Web app must support multiple parallel games and multiple parallel players in every game (multiplayer).

Every player has its own browser session (ie they wait for they turn based on db polling / page refresh).
Support starting game in console and continuing in web.

All the setup/game logic from console based game has to be supported (conf changes, etc.)


These are minimum requirements to pass HW defence, both console and web MUST work and be presentable.