single player mbedKart

Dependencies:   Motor

(notes)

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: