Revenge of the Mouse

Dependencies:   4DGL-uLCD-SE EthernetInterface Game_Synchronizer LCD_fonts MMA8452 SDFileSystem mbed-rtos mbed wave_player

Fork of 2035_Tanks_Shell by ECE2035 Spring 2015 TA

main.cpp

Committer:
jford38
Date:
2015-10-22
Revision:
6:3be57cf4bd33
Parent:
5:cfec780c935b
Child:
7:9506f2d84162

File content as of revision 6:3be57cf4bd33:

// Student Side.

#include "mbed.h"
#include "game_synchronizer.h"

DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);

DigitalIn pb_l(p24);  // left button
DigitalIn pb_r(p21);  // right button
DigitalIn pb_u(p22);  // up button
DigitalIn pb_d(p23);  // down button

Game_Synchronizer sync(p9,p10,p11, PLAYER1); // (tx, rx, rst, player mode)

// For debug only. Don't use in production code. It will slow your game down a lot.
Serial pc(USBTX, USBRX);                     

void game_init(void) {
    
    led1 = 0; led2 = 0; led3 = 0; led4 = 0;
    
    pb_l.mode(PullUp);
    pb_r.mode(PullUp); 
    pb_u.mode(PullUp);    
    pb_d.mode(PullUp);
    
    pc.printf("\033[2J\033[0;0H");              // Clear the terminal screen.
    pc.printf("I'm alive! Player 1\n");         // Let us know you made it this far.
    sync.init();                                // Connect to the other player.
    pc.printf("Initialized...\n");              // Let us know you finished initializing.
}

int main (void) {
    int* buttons;

    game_init();
    
    float theta = 0;
    while(1) {
        
        sync.line(64,64,64+50*cos(theta),64+50*sin(theta), BLACK);
        theta += 0.05;
        sync.line(64,64,64+50*cos(theta),64+50*sin(theta), RED);
        sync.circle(10,10,100, GREEN);
        sync.filled_circle(4,4,10, 0xAB);
        sync.triangle(10,10, 20,20, 20,40, 0xAB);
        sync.rectangle(100,100, 90,90, GREEN);
        sync.filled_rectangle(100,100, 110,110, 0xAB);
        sync.pixel(40, 40, WHITE);
        
        sync.update();
        buttons = sync.get_button_state();
        led1 = buttons[0];
        led2 = buttons[1];
        led3 = buttons[2];
        led4 = buttons[3];
        //pc.printf("Button State: %x %x %x %x %x\n", buttons[0], buttons[1], buttons[2], buttons[3], buttons[4]);
        //pc.printf("\033[2J\033[0;0H");
    } 
}