Library that draws a basket on a Nokia N5110 LCD display and allows it to be moved left/right on the display using buttons or a joystick.

Dependents:   Game_Controller_Project

Committer:
Nathanj94
Date:
Tue Apr 04 16:31:21 2017 +0000
Revision:
7:7b71dd93b2f8
Parent:
6:2aec1ed2a75a
Child:
8:48c5adc809e1
No changes;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nathanj94 0:7e132fca6044 1 #include "Basket.h"
Nathanj94 0:7e132fca6044 2
Nathanj94 0:7e132fca6044 3 Basket::Basket()
Nathanj94 0:7e132fca6044 4 {
Nathanj94 0:7e132fca6044 5
Nathanj94 0:7e132fca6044 6 }
Nathanj94 0:7e132fca6044 7
Nathanj94 0:7e132fca6044 8 Basket::~Basket()
Nathanj94 0:7e132fca6044 9 {
Nathanj94 0:7e132fca6044 10
Nathanj94 0:7e132fca6044 11 }
Nathanj94 2:5d4f2c3f3c0a 12
Nathanj94 5:32421eb42841 13 void Basket::init(int y, int width)
Nathanj94 0:7e132fca6044 14 {
Nathanj94 5:32421eb42841 15 y_ref = y;
Nathanj94 5:32421eb42841 16 x_ref = WIDTH/2 - width/2;
Nathanj94 0:7e132fca6044 17 basket_width = width;
Nathanj94 5:32421eb42841 18 score = 0;
Nathanj94 5:32421eb42841 19 }
Nathanj94 5:32421eb42841 20
Nathanj94 5:32421eb42841 21 void Basket::draw(N5110 &lcd)
Nathanj94 5:32421eb42841 22 {
Nathanj94 5:32421eb42841 23 lcd.drawRect(x_ref,y_ref, 1, 2, 0);
Nathanj94 5:32421eb42841 24 lcd.drawRect(x_ref + 1, y_ref + 2,1,2,0);
Nathanj94 5:32421eb42841 25 lcd.setPixel(x_ref + 2, y_ref + 4);
Nathanj94 5:32421eb42841 26 lcd.drawRect(x_ref + 2, y_ref + 5, basket_width - 4, 1, 0);
Nathanj94 5:32421eb42841 27 lcd.setPixel(x_ref + 9, y_ref + 4);
Nathanj94 5:32421eb42841 28 lcd.drawRect(x_ref + 10, y_ref + 2, 1, 2, 0);
Nathanj94 5:32421eb42841 29 lcd.drawRect(x_ref + 11, y_ref, 1, 2, 0);
Nathanj94 0:7e132fca6044 30 }
Nathanj94 0:7e132fca6044 31
Nathanj94 5:32421eb42841 32 void Basket::move(Direction d, float mag, Gamepad &pad)
Nathanj94 0:7e132fca6044 33 {
Nathanj94 7:7b71dd93b2f8 34 stick_speed = int(mag*10.0f);
Nathanj94 0:7e132fca6044 35
Nathanj94 2:5d4f2c3f3c0a 36 if (d == E) {
Nathanj94 5:32421eb42841 37 x_ref += stick_speed;
Nathanj94 2:5d4f2c3f3c0a 38 } else if (d == W) {
Nathanj94 5:32421eb42841 39 x_ref -= stick_speed;
Nathanj94 0:7e132fca6044 40 }
Nathanj94 0:7e132fca6044 41
Nathanj94 5:32421eb42841 42 if (x_ref < 1) {
Nathanj94 5:32421eb42841 43 x_ref = 1;
Nathanj94 5:32421eb42841 44 }
Nathanj94 5:32421eb42841 45 if (x_ref > WIDTH - basket_width - 1) {
Nathanj94 5:32421eb42841 46 x_ref = WIDTH - basket_width - 1;
Nathanj94 0:7e132fca6044 47 }
Nathanj94 0:7e132fca6044 48 }
Nathanj94 0:7e132fca6044 49
Nathanj94 6:2aec1ed2a75a 50 void Basket::add_score_1()
Nathanj94 0:7e132fca6044 51 {
Nathanj94 5:32421eb42841 52 score++;
Nathanj94 0:7e132fca6044 53 }
Nathanj94 0:7e132fca6044 54
Nathanj94 6:2aec1ed2a75a 55 void Basket::add_score_2()
Nathanj94 6:2aec1ed2a75a 56 {
Nathanj94 6:2aec1ed2a75a 57 score = score + 2;
Nathanj94 6:2aec1ed2a75a 58 }
Nathanj94 6:2aec1ed2a75a 59
Nathanj94 6:2aec1ed2a75a 60 void Basket::add_score_5()
Nathanj94 6:2aec1ed2a75a 61 {
Nathanj94 6:2aec1ed2a75a 62 score = score + 5;
Nathanj94 6:2aec1ed2a75a 63 }
Nathanj94 6:2aec1ed2a75a 64
Nathanj94 6:2aec1ed2a75a 65 void Basket::add_score_10()
Nathanj94 6:2aec1ed2a75a 66 {
Nathanj94 6:2aec1ed2a75a 67 score = score + 10;
Nathanj94 6:2aec1ed2a75a 68 }
Nathanj94 6:2aec1ed2a75a 69
Nathanj94 5:32421eb42841 70 int Basket::get_score()
Nathanj94 0:7e132fca6044 71 {
Nathanj94 5:32421eb42841 72 return score;
Nathanj94 3:d8deea6454df 73 }
Nathanj94 3:d8deea6454df 74
Nathanj94 5:32421eb42841 75 int Basket::get_x()
Nathanj94 4:4ce558075c32 76 {
Nathanj94 5:32421eb42841 77 return x_ref;
Nathanj94 4:4ce558075c32 78 }
Nathanj94 4:4ce558075c32 79
Nathanj94 5:32421eb42841 80 int Basket::get_y()
Nathanj94 3:d8deea6454df 81 {
Nathanj94 5:32421eb42841 82 return y_ref;
Nathanj94 2:5d4f2c3f3c0a 83 }