Dependencies: mbed
On Minerva
PeopleEngine/PeopleEngine.cpp@11:494cc44777fe, 2020-05-11 (annotated)
- Committer:
- el19zf
- Date:
- Mon May 11 09:09:31 2020 +0000
- Revision:
- 11:494cc44777fe
- Parent:
- 9:62d6559f0d50
- Child:
- 13:eb60628db8bf
add Interface class and build the interaction with gamer
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el19zf | 3:b8fbaefc496c | 1 | #include "PeopleEngine.h" |
el19zf | 3:b8fbaefc496c | 2 | |
el19zf | 3:b8fbaefc496c | 3 | PeopleEngine::PeopleEngine() |
el19zf | 3:b8fbaefc496c | 4 | { |
el19zf | 3:b8fbaefc496c | 5 | |
el19zf | 3:b8fbaefc496c | 6 | } |
el19zf | 3:b8fbaefc496c | 7 | |
el19zf | 3:b8fbaefc496c | 8 | PeopleEngine::~PeopleEngine() |
el19zf | 3:b8fbaefc496c | 9 | { |
el19zf | 3:b8fbaefc496c | 10 | |
el19zf | 3:b8fbaefc496c | 11 | } |
el19zf | 3:b8fbaefc496c | 12 | |
el19zf | 3:b8fbaefc496c | 13 | void PeopleEngine::init() |
el19zf | 3:b8fbaefc496c | 14 | { |
el19zf | 3:b8fbaefc496c | 15 | _people.init(); |
el19zf | 3:b8fbaefc496c | 16 | } |
el19zf | 3:b8fbaefc496c | 17 | void PeopleEngine::read_input(Gamepad &pad) |
el19zf | 3:b8fbaefc496c | 18 | { |
el19zf | 3:b8fbaefc496c | 19 | //directions held in an enum and magnitude in polar coordinates |
el19zf | 3:b8fbaefc496c | 20 | _d = pad.get_direction(); |
el19zf | 3:b8fbaefc496c | 21 | _mag = pad.get_mag(); |
el19zf | 3:b8fbaefc496c | 22 | //printf("velocity = %f,%f\n",_v.x,_v.y); |
el19zf | 3:b8fbaefc496c | 23 | } |
el19zf | 3:b8fbaefc496c | 24 | void PeopleEngine::update() |
el19zf | 3:b8fbaefc496c | 25 | { |
el19zf | 3:b8fbaefc496c | 26 | _people.set_velocity(_d,_mag); |
el19zf | 3:b8fbaefc496c | 27 | _people.update(); |
el19zf | 4:b12a49f0b730 | 28 | //_p=_people.get_pos(); |
el19zf | 4:b12a49f0b730 | 29 | //printf("position = %f,%f\n",_p.x,_p.y); |
el19zf | 3:b8fbaefc496c | 30 | } |
el19zf | 3:b8fbaefc496c | 31 | |
el19zf | 3:b8fbaefc496c | 32 | void PeopleEngine::draw(N5110 &lcd) |
el19zf | 3:b8fbaefc496c | 33 | { |
el19zf | 4:b12a49f0b730 | 34 | //lcd.clear(); |
el19zf | 3:b8fbaefc496c | 35 | _people.draw(lcd); |
el19zf | 4:b12a49f0b730 | 36 | lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);//help our design |
el19zf | 9:62d6559f0d50 | 37 | lcd.drawCircle(0,HEIGHT/2,6,FILL_TRANSPARENT);//destination |
el19zf | 9:62d6559f0d50 | 38 | lcd.drawCircle(WIDTH-1,HEIGHT/2,6,FILL_TRANSPARENT);//starting point |
el19zf | 8:8287d2ef965d | 39 | } |
el19zf | 8:8287d2ef965d | 40 | |
el19zf | 11:494cc44777fe | 41 | Vector2D PeopleEngine::get_pos() |
el19zf | 11:494cc44777fe | 42 | { |
el19zf | 8:8287d2ef965d | 43 | _p = _people.get_pos(); |
el19zf | 8:8287d2ef965d | 44 | return _p; |
el19zf | 8:8287d2ef965d | 45 | } |