/NCKU_1stGrade_3_CSProgramDesign2_Project3

It's a GUI shooting game written in QT environment. The basic requirement is that we have to include polymorphism in our code. The "record" and "award" system is what I wrote for bonus.

Primary LanguageC++

你看起來很想學C++ / Do you want to learn C++ ?

Introduction

At first, it was just a GUI shooting game, an assignment of c++ course for 1'st grade NCKU CS students, written in QT environment.

However, I thought the topic was too boring, so I combined what a begininger would experience when learning c++ with this game.


Game plays

As a programer, the larger your project is, the "healthier" liver you have. In this game, you have to not only defeat the enemys, but also take care of your liver. The player use W, A, S, D buttons to controll the liver and have to dodge enenys' attacks, left mouse button to shoot attacks, and press R to use ultimate. The color of liver will change if player's health fall to some degree.

Information board

  • Score: Add when player's attack hit the enemy. Minus when player was hit by the enemy's attack.

  • Enemy's health

  • Ultimate and player's health: When using ultimate, all the enemy's attack will disapper and player will get full health. The player's "health" means how many percent of his/her liver is still works.


Boss

There are 4 different level boss in this game. (Boss's stucture is simular to player with Polymorphism)

Boss 1: DEV C++

  • Move path: liner
  • HP: 5
  • attack: hello world!

    (Yes, this is what it actually looks like)

Boss 2: Loop

  • Move path: circle
  • HP: 10
  • attack: for/while

Boss 3: Class

  • Move path: liner
  • HP: 25
  • attack: constructor/destructor *Warning: "class's attacks" can track you!

Boss 4: Evil Qt!

  • Move path: circle, but very fast
  • HP: 40
  • attack: signal/slot/QPushButton

Bonus feature: Acheivement system

When player acheive some unknow stuff (EX: Pass this game without using any ultimate.), he/she can get an award, and can also check this whenever open this game.