The classic dueling tanks game for mbed.
Dependencies: 4DGL-uLCD-SE DRV2605 EthernetInterface Game_Synchronizer MMA8452 SDFileSystem SparkfunAnalogJoystick mbed-rtos mbed wave_player
Fork of 2035_Tanks_Shell by
Diff: main.cpp
- Revision:
- 11:f455e907baba
- Parent:
- 10:5da9b27e050e
- Child:
- 12:088a8203a9bb
--- a/main.cpp Fri Oct 23 03:33:35 2015 +0000
+++ b/main.cpp Fri Oct 23 04:18:28 2015 +0000
@@ -80,12 +80,12 @@
}
int min_x(void) { return x; }
int min_y(void) { return y; }
- int max_x(void) { return x + w; }
+ int max_x(void) { return x + w + ceil(barrel_length*cos(barrel_theta)); }
int max_y(void) { return y + h + wheel_rad + ceil(barrel_length*sin(barrel_theta)); }
- void reposition(int new_x, int new_y, int new_theta) {
+ void reposition(int new_x, int new_y, float new_theta) {
sync.filled_rectangle(min_x(), min_y(), max_x(), max_y(), SKY_COLOR);
- sync.line(x + w/2.0, y+h+wheel_rad, x + w/2.0 + barrel_length*cos(barrel_theta), y+h + barrel_length*sin(barrel_theta), SKY_COLOR);
+ sync.line(x + w/2.0, y+h+wheel_rad, x + w/2.0 + 1 + barrel_length*cos(barrel_theta), y+h + barrel_length*sin(barrel_theta), SKY_COLOR);
x = new_x; y = new_y; barrel_theta = new_theta;
draw();
}
@@ -123,7 +123,7 @@
Tank t2(111, 20, 12, 8, TANK_BLUE);
while(1) {
- sync.line(0,0, 5,5, BLACK);
+ sync.line(0,0, 5,5, BLACK); // Update pukes if you try to send nothing :P
sync.update();
p2_buttons = sync.get_button_state();
@@ -132,5 +132,17 @@
led2 = p2_buttons[1] ^ !pb_r;
led3 = p2_buttons[2] ^ !pb_d;
led4 = p2_buttons[3] ^ !pb_l;
+
+ if(!pb_l) t1.reposition(t1.x-1, t1.y, t1.barrel_theta);
+ if(!pb_r) t1.reposition(t1.x+1, t1.y, t1.barrel_theta);
+ if(p2_buttons[3]) t2.reposition(t2.x-1, t2.y, t2.barrel_theta);
+ if(p2_buttons[1]) t2.reposition(t2.x+1, t2.y, t2.barrel_theta);
+
+ if(!pb_d) t1.reposition(t1.x, t1.y, t1.barrel_theta+PI/30.0);
+ if(!pb_u) t1.reposition(t1.x, t1.y, t1.barrel_theta-PI/30.0);
+ if(p2_buttons[0]) t2.reposition(t2.x, t2.y, t2.barrel_theta+PI/30.0);
+ if(p2_buttons[2]) t2.reposition(t2.x, t2.y, t2.barrel_theta-PI/30.0);
+
+
}
}
\ No newline at end of file
