ELEC2645 (2017/18) / Mbed 2 deprecated ll13jrm

Dependencies:   mbed

Revision:
11:e260c17a0489
Parent:
10:62d8cb7742c3
Child:
12:9f2f64016f56
--- a/Snake/Snake.cpp	Wed Apr 04 12:25:51 2018 +0000
+++ b/Snake/Snake.cpp	Fri Apr 06 15:15:50 2018 +0000
@@ -26,6 +26,8 @@
     
     set_snake_direction(in, cur);
     Direction next = get_snake_direction();
+    //set_current_direction(next);
+    cur = get_current_direction();
     set_snake_position(next);
     Vector2D pos = get_snake_position();
     
@@ -40,9 +42,7 @@
 
 void Snake::set_snake_direction(Direction input, Direction current)
 {
-    
-
-    
+      
     switch(current) {
         
         case CENTRE:
@@ -88,6 +88,8 @@
                 
                 }
                 
+                break;
+                
         case N:
         
             switch(input) {
@@ -130,6 +132,9 @@
                 break;
                 
                 }
+                
+                break;
+                
         case E:
         
             switch(input) {
@@ -172,6 +177,9 @@
                 break;
                 
                 }
+                
+                break;
+                
         case S:
         
             switch(input) {
@@ -214,6 +222,9 @@
                 break;
                 
                 }
+                
+                break;
+                
         case W:
         
             switch(input) {
@@ -251,11 +262,20 @@
                 default:
                 
                 _next = current;
-                error("Invalid state"); 
+                error("Invalid state (input)"); 
                 
                 break;
                 
                 }
+                
+                break;
+                
+             default:
+                
+                error("Invalid state (current)");
+                
+                break;
+
             }
             
                                 
@@ -269,6 +289,18 @@
     return d;
     
 }
+/*
+void Snake::set_current_direction(Direction new_cur)
+{
+    _next = new_cur;
+}*/
+Direction Snake::get_current_direction()
+{
+    
+    Direction d = _next;
+    
+    return d;
+}
 
 void Snake::set_snake_position(Direction next)
 {