Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Snake/Snake.cpp
- 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)
{