Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Ship/Ship.cpp
- Revision:
- 26:a53d41adf40b
- Parent:
- 14:88ca5b1a111a
- Child:
- 31:c7bd3ed16840
--- a/Ship/Ship.cpp Thu Apr 18 06:53:52 2019 +0000 +++ b/Ship/Ship.cpp Thu Apr 18 11:40:47 2019 +0000 @@ -8,8 +8,8 @@ { } -// data needed for first ship: basic -const int basic[6][9] = { +// data needed for first ship: kestrel +const int kestrel[6][9] = { { 0,0,0,0,1,0,0,0,0 }, { 0,0,0,1,1,1,0,0,0 }, { 0,0,1,1,0,1,1,0,0 }, @@ -27,15 +27,28 @@ {0,1,1,0,1,1,0}, {1,0,0,1,0,0,1}, {0,0,1,0,1,0,0}, - {0,0,0,1,0,0,0}, + {0,0,0,1,0,0,0}, +}; +const int thor[10][7] = { + {0,0,0,1,0,0,0}, + {0,0,1,0,1,0,0}, + {0,1,0,0,0,1,0}, + {1,0,0,1,0,0,1}, + {0,1,0,0,0,1,0}, + {0,0,1,0,1,0,0}, + {1,0,0,1,0,0,1}, + {1,0,1,0,1,0,1}, + {1,1,0,0,0,1,1}, + {1,0,0,0,0,0,1}, + }; /* -int basic_width = 9; -int basic_height = 6; -int basic_speed = 5; +int kestrel_width = 9; +int kestrel_height = 6; +int kestrel_speed = 5; */ -// Set basic ship to be default +// Set kestrel ship to be default void Ship::init(int ship_width,int ship_height,int ship_speed,int ship_xpos,int ship_ypos) { _ship_width = ship_width; @@ -45,18 +58,23 @@ _ship_xpos = ship_ypos; // _ship_shape[_ship_height][_ship_width] = ship_shape; } -// Draw the ship ***Note: figure out how to change ship type e.g from basic to devotion -void Ship::draw_ship(N5110 &lcd) +// Draw the ship ***Note: figure out how to change ship type e.g from kestrel to devotion +void Ship::draw_ship(N5110 &lcd, int shipno) { - lcd.drawSprite(_ship_xpos,_ship_ypos,6,9,(int *)basic); -} -void Ship::draw_imperion(N5110 &lcd) -{ - lcd.drawSprite(_ship_xpos,_ship_ypos,10,7,(int *)imperion); + if(shipno == 0) { + lcd.drawSprite(_ship_xpos,_ship_ypos,6,9,(int *)kestrel); + } + if(shipno == 1) { + lcd.drawSprite(_ship_xpos,_ship_ypos,10,7,(int *)imperion); + } + if(shipno == 2) { + lcd.drawSprite(_ship_xpos,_ship_ypos,10,7,(int *)thor); + } } void Ship::update_ship(float x_joystick,float y_joystick) -{ // Only change position if joystick is reasonably moved +{ + // Only change position if joystick is reasonably moved if(-0.25 > x_joystick || x_joystick > 0.25 || -0.25 > y_joystick || y_joystick > 0.25) { // Update positions using joystick and the intended ships speed _ship_xpos = _ship_xpos + (x_joystick*_ship_speed); @@ -92,7 +110,7 @@ _ship_height = ship_height; } -/****Note: if you make all the ships the same size, you could then creare a enum for them ship.[ enum class Ship {basic, devotion}; ] +/****Note: if you make all the ships the same size, you could then creare a enum for them ship.[ enum class Ship {kestrel, devotion}; ] then, you can declare a new variable belonging to the enum Ship, ship. then to set a ships sprite simply use the variable to test if the ship is correct and create an if function to draw the appropriate ship */ \ No newline at end of file