Li Ruofan 201199450

Dependencies:   mbed Gamepad Joystick

myShip/spaceship.cpp

Committer:
DannyLee
Date:
2020-05-15
Revision:
5:e3a9f0548922
Parent:
3:cf9fead9c3f4
Child:
6:cbd9e1f26a10

File content as of revision 5:e3a9f0548922:

/* SPACE RACE Game using Arduino and Nokia 5110 LCD
 * Coded by: Ruofan Li
 * Date: 28-4-2020
 * Input -> Joystick (x0,y0)
*/

#include <spaceship.h> // Library for spaceship.cpp

//*Construct and Destruct
Spaceship::Spaceship()
{
 
}
 
Spaceship::~Spaceship()
{
 
}
 
void Spaceship::init(int x,int y,int width,int height)
{
    _x = x; //x value is fixed
    _y = y; //y is also fixed
    _width = width;
    _height = height;
    _speed = 4;
}

void Spaceship::draw(N5110 &lcd)
{
    // draw Spaceship in screen of N5110. 
int Spaceship[15][10] = {
   0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,1,1,0,0,0,0,
   0,0,0,0,1,1,0,0,0,0,
   0,0,1,1,0,0,1,1,0,0,
   0,1,1,1,1,1,1,1,1,0,
   0,1,1,1,1,1,1,1,1,0,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,0,0,1,1,1,1,
   0,1,1,1,0,0,1,1,1,0,
   0,0,1,1,0,0,1,1,0,0,
   0,0,0,1,1,1,1,0,0,0,
   0,0,0,0,0,0,0,0,0,0,
   
   lcd.drawSprite(lcd, _x,_y,_height,_width,(int)Spaceship);// Specify rows and columns in sprite
};

void loop() {
  display.clearDisplay();   // clears the screen and start new

  gamescreen(); //Displays the box, score and speed values
  
  //Get input from user  
  Joy_X = analogRead(A1); //It will read the X value from Joystick
  if (Joy_X < 312 && POS!=1 && control==true) //If joy stick moves right
  { POS--; control = false;} //Decreace position of spaceship
  else if (Joy_X > 712 && POS!=3 && control==true) //If joy stick moves right
  { POS++; control = false;} //Increace position of spaceship
  else if (Joy_X >502 && Joy_X<522) //If joystick back to initial position
  control = true; //Prepare for next move
  //Input from user received

// get the position of the spaceship
Vector2D Spaceship::get_pos()
{
    Vector2D p = {_x,_y};
    return p;
}
// set the position of the spaceship
void Spaceship::set_pos(Vector2D p)
{
    _x = p.x;
    _y = p.y;
}

// add score when pass pillars
void Spaceship::add_score()
{
    _score++;
}

// get score
int Spaceship::get_score()
{
    return _score;
}

// the life of the spaceship
void Spaceship::set_life()
{
    _life++;
}

// get life
int Spaceship::get_life()
{
    return _life;
}