Skip to content

CSC207-2022F-UofT/CyberPunk-207

Repository files navigation

CyberPunk207

Welcome to Night City....

image

Cyberpunk 207 is a turned-base tabletop card game. In the game, five players will take on different identities, divided into three camps (police, criminals, and corpo) to advance towards their respective goals. Here are their winning objectives:

Police Chief: Death of Criminal and Corpo.

Police: Help Police Chief to achieve his goals

Corpo: Death of other characters

Criminal: Death of Police Chief and Police

Running

Run the GameLauncher class located in the directory

Basic Rules

Each character has 3 life points, the police chief has 4 life points, and the character dies when life goes to zero. Police die if the police chief dies. Before the game starts, every player is assigned their camps and draws 4 cards from the deck in hands for future use. The police chief must immediately show his/her identity with the other players remaining hidden until they die. Then the game plays clockwise. At the beginning of each player’s turn, they draw 2 cards from the deck. Each player can attack other players using different cards to decrease enemies' life, and players can also use the corresponding cards for defence. Each player can only attack one adjacent player without a weapon card or mount card equipped. Equipping a weapon card or mount card can increase or decrease the player's distance from other players (+1 distance means the player's attack range increases by one on each side). Different skill cards also have different distances for use. The game design will be based on the background of the world of Cyberpunk 2077 and expand somewhat, aiming to let people know more about the cyber world.

UI

  • LoginPage - 1st page for login and register
  • RulePage - 2nd page displaying rules
  • GamePage - 3rd page where the primary game is displayed (you can see information on yourself and other players to play the game)

Changes after Milestone 4

  • Updated Clean Architecture structure in project, restructured the program into 7 unique use cases and created individual controllers, presenters and interfaces for each of them
  • Connected use case with front end UI following clean architecture rules
  • Updated GitHub usage with commenting and review for new pull requests
  • Updated readme file for the project
  • Updated testing for entity, use cases and UI
  • Updated documentation for all codes and corrected naming conventions for all classes
  • Corrected bugs and errors that effected functionality of the program

Design patterns used

Clean architecture

  • We follow clean architecture model for all use cases in our project
  • All seven use cases interacts with UI through their individual presenter and controllers, boundaries are also implemented to prevent dependency across layers
  • Response and request models are implemented to contain information of the game
  • Login system also used serialization to interact with local database that stores login information

Testing coverage

  • Test coverage includes most card entity to ensure their individual functionality
  • Also tested all seven use cases to ensure their normal functionality within the game

Documentations

About

course-project-group-148 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages