Player Library
Player.cpp
- Committer:
- ll14c4p
- Date:
- 2017-05-03
- Revision:
- 11:1a8dc3242e13
- Parent:
- 10:43b537436eb5
- Child:
- 12:1324d72d12a6
File content as of revision 11:1a8dc3242e13:
#include "Player.h" Player::Player() { } Player::~Player() { } int sprite[5][6] = { {0,1,0,0,1,0}, {1,1,0,0,1,1}, {1,1,1,1,1,1}, {1,1,1,1,1,1}, {0,1,1,1,1,0}, }; int m = 0; void Player::init() { _speed = 0.05;// default speed } void Player::draw(N5110 &lcd) { if(m == 0){ _x = WIDTH/2 -1; // Middle of screen // Change these values to change starting position _y = HEIGHT/2 -1; // Near bottom of screen m = m+1; } //printf("SPRITE %d %d \n", _x, _y); lcd.drawSprite(_x,_y,5,6,(int *)sprite); } Vector2D Player::get_pos() { Vector2D playerpos = {_x,_y}; //printf("playerpos from player = %f %f \n", playerpos.x, playerpos.y); return playerpos; } void Player::update(Direction d,float mag) { _speed = int(mag*5.0f); // scale is arbitrary, could be changed in future // update y value depending on direction of movement // North is decrement as origin is at the top-left so decreasing moves up if (d == N) { _y-=_speed; } if (d == S) { _y+=_speed; } if (d == E) { _x+=_speed; } if (d == W) { _x-=_speed; } if (d == NE) { _y-=_speed/2; _x+=_speed/2; } if (d == NW) { _y-=_speed/2; _x-=_speed/2; } if (d == SE) { _y+=_speed/2; _x+=_speed/2; } if (d == SW) { _y+=_speed/2; _x-=_speed/2; } // check the y origin to ensure that the paddle doesn't go off screen if (_y <= 0) { _y = 0; } if (_x <= 0) { _x = 0; } if (_x > 78) { _x = 78; } if (_y > 42) { _y = 42; } }