Silvan Li
/
mbedKart_sp
single player mbedKart
(notes)
Diff: main.cpp
- Revision:
- 28:0187a2d494a2
- Parent:
- 27:2872e658125e
- Child:
- 29:1d568c399cb7
--- a/main.cpp Tue Dec 11 05:01:27 2018 +0000 +++ b/main.cpp Tue Dec 11 05:50:48 2018 +0000 @@ -4,6 +4,7 @@ #include "rgbSensor.h" #include "xbee_functions.h" #include "universal.h" + // Define threads and mutexes Thread thread1; Thread thread2; @@ -55,22 +56,22 @@ while(sstate == coasting) { if (speed_cmd > 0.0) speed_cmd -= coast_rate; else speed_cmd = 0.0; - left.speed(speed_cmd); - right.speed(speed_cmd); + left.speed(speed_cmd * left_multiplier); + right.speed(speed_cmd * right_multiplier); ThisThread::sleep_for(200); } while(sstate == accelerating) { if (speed_cmd < max_speed) speed_cmd += acceleration_rate; else speed_cmd = max_speed; - left.speed(speed_cmd); - right.speed(speed_cmd); + left.speed(speed_cmd * left_multiplier); + right.speed(speed_cmd * right_multiplier); ThisThread::sleep_for(200); } while(sstate == braking) { - if (speed_cmd > 0.0) speed_cmd -= brake_rate; - else speed_cmd = 0.0; - left.speed(speed_cmd); - right.speed(speed_cmd); + if (speed_cmd > -1.0) speed_cmd -= brake_rate; + else speed_cmd = -1.0; + left.speed(speed_cmd * left_multiplier); + right.speed(speed_cmd * right_multiplier); ThisThread::sleep_for(200); } } @@ -238,36 +239,33 @@ case '5': //button 5 up arrow if (bhit=='1') { hold_item(); //holds item to protect player from incoming hazards - //item_box(); } else { release_item(); //release item to attack } break; case '6': //button 6 down arrow if (bhit=='1') { - left.speed(-1.0); - right.speed(-1.0); + hold_item(); //holds item to protect player from incoming hazards } else { - left.speed(0.0); - right.speed(0.0); + release_item(); //release item to attack } break; case '7': //button 7 left arrow if (bhit=='1') { - left.speed(0.3); - right.speed(1.0); + left_multiplier = 0.5; + right_multiplier = 1.0; } else { - left.speed(0.0); - right.speed(0.0); + left_multiplier = 1.0; + right_multiplier = 1.0; } break; case '8': //button 8 right arrow if (bhit=='1') { - left.speed(1.0); - right.speed(0.3); + left_multiplier = 1.0; + right_multiplier = 0.5; } else { - left.speed(0.0); - right.speed(0.0); + left_multiplier = 1.0; + right_multiplier = 1.0; } break; default: