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
Floors/Floors.cpp
- Committer:
- el17m2h
- Date:
- 2019-04-25
- Revision:
- 20:a359092079b0
- Parent:
- 19:5a7b0cdf013b
- Child:
- 21:6b16ca9834e6
File content as of revision 20:a359092079b0:
#include "Floors.h"
Floors::Floors(){
}
Floors::~Floors(){
}
void Floors::init(int y, int width, int height){
_height = height;
_width = width;
// x-coordinate initially random: 2-71
int _array[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70, 71};
// excluding centre so doodler falls to the floor at bottom
_position.x = _array[rand()%(sizeof(_array) / sizeof *_array)];
_position.y = y;
}
void Floors::draw(N5110 &lcd){
lcd.drawRect(_position.x, _position.y, _width, _height, FILL_BLACK);
}
void Floors::update(float doodler_pos_y){
// when they leave the screen they will re-appear in random x-coordinate so that 10 floors are always on screen
//rectangle (1-82 & 9 - 48 )
_doodler_pos_y = doodler_pos_y;
if (_position.y > 43 ){
_position.y = 9;
_position.x = 1 + (rand()% 70);
place = rand()% 8;
if (place == 2){ // 1/8 chance of placing an enemy
_eny.init(_position.x, _position.y);
}
}
if (_doodler_pos_y < 25){ // shift floors once doodler reaches over halfway the screen
_position.y += 1;
_eny.update(_position.x, _position.y);
}
}
Vector2D Floors::get_position(){
Vector2D p = {_position.x,_position.y};
return p;
}
void Floors::set_position(Vector2D pos){
_position.x = pos.x;
_position.y = pos.y;
}