Mochu Yao explorer game
Dependencies: mbed
Diff: item/item.cpp
- Revision:
- 1:ed745421d8c4
- Child:
- 3:672d4bd8225d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/item/item.cpp Wed Apr 15 08:17:18 2020 +0000 @@ -0,0 +1,105 @@ +#include "item.h" + +// Define sprite arrays. +int barrier_form[7][7] = { + { 0,0,0,0,0,0,0 }, + { 0,1,1,1,1,1,0 }, + { 0,1,0,0,0,1,0 }, + { 0,1,0,0,0,1,0 }, + { 0,1,0,0,0,1,0 }, + { 0,1,0,0,0,1,0 }, + { 0,1,1,1,1,1,0 }, +}; + +int item_form[6][5] = { + { 0,0,1,1,0,0}, + { 0,1,0,0,1,0}, + { 1,0,1,0,0,1}, + { 0,1,0,0,1,0}, + { 0,0,1,1,0,0}, +}; + +int item_vertical[6][5] = { + { 0,0,1,1,0,0}, + { 0,0,1,1,0,0}, + { 0,0,1,1,0,0}, + { 0,0,1,1,0,0}, + { 0,0,1,1,0,0}, +}; + +// Constructor and destructor. +item::item() {} + +item::~item() {} + +void item::init() { + // Starting position of the coin. + _x = 30; + _y = 35; + _bx = 60; + _by = 30; + _counter = 0; +} + +void item::generate_item() { + // make the item rotating every 4 loops + if (_loop == 3) { + _loop = 0; + _rotate_item = !_rotate_item; + } + _loop++; +} + +void item::set_item(int rand_x, int rand_y) { + // Set the item coords based on input values. + if (rand_y < 40) { + _y = 35; + } else { + _y = 20; + } + _x = rand_x; + if (_x < 5 || _x > 75) { // Ensures the item does not generate off-screen. + _x = 45; + } +} + +void item::set_barrier(int rand_x, int rand_y) { + // Set the item coords based on input values. + if (rand_dy < 35) { + _dy = 40; + } else { + _dy = 15; + } + _dx = rand_dx; + if (_dx < 5 || _dx > 75) { // Ensures the item does not generate off-screen. + _dx = 50; + } +} +int *item::get_barrier_sprite() { + // Return different coin sprites. + if (_rotate_item) { + return *item_form; + } else { + return *item_vertical; + } +} + +int *item::get_item_sprite() { + + return *barrier_form; + } +} + +int Coin::get_coin_x() { + return _x; +} + +int Coin::get_coin_y() { + return _y; +} +int item::get_barrier_bx() { + return _bx; +} +int Coin::get_barrier_by() { + return _by; +} \ No newline at end of file