2019 PD2 Project 3

Pacman

Before project

  • Please fork this project https://pd2a.imslab.org/gitlab/root/2019-pd2-pacman
  • If you don't know how to implement polymorphism, there'a a polymorphism example in "dev" branch
    • Base class: movableitem
    • The class implement polymorphism: circlepathitem, squarepathitem
    • This branch is not the template of your project, so please don't merge this branch to master branch

Scoring

  • GUI 5%
  • Dashboard 5%
  • Dots 5%
  • Power Pellets 5%
  • Pac-man 10%
  • Ghost 10%
  • Polymorphism 10%
  • Demo 50% (required)
  • Bouns (up to 20%)

GUI

  • We suggest you use Qt library
  • Contact TA if you want to use other library

Dashboard

There should be a dashboard to record the point

This one

Dots

  • The dots should can be eaten by pac-man
  • When the dot is eaten, it should disappear and player get point
  • When all dots are eaten, the game is completed

Power Pellets

  • Power pellets are the special dots that can be eaten by pac-man
  • If the ghost collide with the pac-man and pac-man has eaten power pellets
    • Pac-man eat the ghost and get the point
    • ghost die and bring back to life in a few seconds

Pac-man

  • You should implement the class Pacman
  • Pac-man may keep going straight forward and player can use four keys to change its direction
  • If Pac-man collide with the ghost, game over
    • You don't need to make pac-man life, it only have one life

Ghost

  • There are four ghosts in the corner of the gameboard
  • Four ghosts should have four different algorithm to chase pac-man
    • you can take this as reference
  • If the ghost collide with the pac-man, pac-man die and game over

Polymorphism

  • You should use polymorphism technique on class Pacman and Ghost.
  • Both of them should implement method "move()", and be called by pointer of base class.

Demo

  • You must attend demo, or you'll get 0 in this project
  • We may ask you to
    • explain your code
    • modify your code (change behavior/add some function)
    • Or something else...

Bonus

  • You can get up to 20% bonus
  • Anything not in our requirement can be bonus
  • Please tell TA during demo
Made with Slides.com