test avoid bulled game
Dependencies: C12832_lcd LCD_fonts mbed mbed-rtos
Diff: Person.cpp
- Revision:
- 8:2fd3eedcde64
- Parent:
- 7:defdc7cb4e0b
- Child:
- 12:c74115744b24
- Child:
- 17:dfb8d3c5911a
--- a/Person.cpp Mon Dec 05 07:34:15 2016 +0000 +++ b/Person.cpp Mon Dec 05 08:09:45 2016 +0000 @@ -8,32 +8,34 @@ jump_time = 0; } -point Person::update(){ - if(jump_time == 0){ - //not jump - return p; - }else if(jump_time == MAX_JUMP_TIME){ - //down - p.y += 2; +point Person::update(int height){ + if(jump_time > 0){ + //while jumpping + p.y -= JUMP_SIZE; + jump_time--; }else{ - //up - jump_time++; - p.y -= 2; + //while down or go + if(isGround(height)){ + //while go + jump_count = 0; + }else{ + //while down + p.y += JUMP_SIZE + } } return p; } -point Person::ground(){ - jump_count = 0; - jump_time = 0; +point Person::jump(){ + //start jump + if(jump_count < MAX_JUMP_COUNT){ + p.y -= JUMP_SIZE; + jump_time = MAX_JUMP_TIME; + jump_count++; + } return p; } -point Person::jump(){ - if(jump_count < MAX_JUMP_COUNT){ - p.y -= 2; - jump_time = 1; - jump_count++; - } - return p; +bool Person::isGround(int height){ + return height == p.y; } \ No newline at end of file