Simple Pong game on NokiaLCD with PS2

Dependencies:   mbed PS2 NokiaLCD

paddle.cpp

Committer:
wjohnsto
Date:
2011-02-27
Revision:
0:93dce1e528b9
Child:
1:3cc8b1413557

File content as of revision 0:93dce1e528b9:

#include "mbed.h"
#include "paddle.h"

Paddle::Paddle() {
  int x=y=width=height=color=score=0;
  lives = 3;
}

Paddle::Paddle(int x, int y, int w, int h, int c, int l, int s)
 : x(x), y(y), width(w), height(h), color(c), lives(l), score(s) {}
 
void Paddle::move(NokiaLCD &lcd, int increment) {
  lcd.fill(x,y,width,height, 0x000000);
  y += increment;
}

void Paddle::moveCPU(NokiaLCD &lcd, int _y) {
  static int inc = 1;
  lcd.fill(x,y,width,height, 0x000000);
  if(_y>y+height/2 && y+height<130) y += inc;
  else if(_y+5<y+height/2 && y>0) y -= inc;
  inc = (inc) ? 0 : 1;
}

void Paddle::draw(NokiaLCD &lcd, bool isBlack) const {
  lcd.fill(x, y, width, height, (isBlack) ? 0x000000 : color);
}

bool Paddle::loseLife() {
  return --lives;
}

void Paddle::addPoint() {
  ++score;
}

int Paddle::size() const {
  return width*height;
}

int Paddle::getWidth() const {
  return width;
}

int Paddle::getHeight() const {
  return height;
}

int Paddle::getX() const {
  return x;
}

int Paddle::getY() const {
  return y;
}

int Paddle::getLives() const {
  return lives;
}

int Paddle::getScore() const {
  return score;
}

void Paddle::setLives(int l) {
  lives = l;
}