itsjunqing / biquadris-game

a tetris-like game built with C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

biquadris-game

A tetris-like game built with C++, where players take turns dropping blocks. Unlike tetris where players have a time constraint, Biquadris gives players an unlimited amount of time to decide where to drop their blocks.

Every move that a player makes will drop their block by one position until the player either chooses to set their block, or the block is moved to a position that cannot be further changed. Scores are increased upon clearing a row or more and the player that scores the highest score wins the game.

Players are also able to interact with their opponents by performing “special actions” (blinding opponent, forcing opponent's block, toggling heaviness of opponent's block) that affect different aspects of the game.

Core Design

Core Design

Design Patterns

Performance Measures

  • free from memory leaks with the use of smart pointers, reducing memory tracing issues
  • able to handle multiple commands with Trie data structure
  • minimum recompilation for adding new levels with the use of template method design pattern
  • migrated to classes-usage than methods-usage to simplify extensibility
  • simplified user-interface with Model view controller

Screenshots

Image1 Image2 Image1 Image2 Image1 Image2 Image1 Image2

Project Details

Biquadris project serves as the final project for CS 246: Object-Oriented Software Development in the Winter 2020 term.
Grade: 100%

Copyright

Copyright (C) 2019 Jun Qing Lim
Under University of Waterloo's Policy 71, project's source code is not released. View of source code is available upon request, subject to terms and conditions.

About

a tetris-like game built with C++