![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
master
Dependencies: mbed
Fork of ESE350-Whack-a-Mole by
Diff: WhackAMole.cpp
- Revision:
- 1:d905afad53c0
- Parent:
- 0:ddc820578cb0
- Child:
- 2:4c79ab84c285
diff -r ddc820578cb0 -r d905afad53c0 WhackAMole.cpp --- a/WhackAMole.cpp Wed Mar 20 19:05:36 2013 +0000 +++ b/WhackAMole.cpp Tue Oct 20 18:08:37 2015 +0000 @@ -1,7 +1,8 @@ #include "mbed.h" #include "MRF24J40.h" +#include <string> -#include <string> + // RF tranceiver to link with handheld. MRF24J40 mrf(p11, p12, p13, p14, p21); @@ -81,33 +82,72 @@ int main (void) { uint8_t channel = 2; - + //Set the Channel. 0 is default, 15 is max mrf.SetChannel(channel); - + int action; + int round_counter; + int score_counter; + char input; //Start the timer timer.start(); while(true) { - //Try to receive some data - rxLen = rf_receive(rxBuffer, 128); - if(rxLen > 0) { - //Toggle the Led - led1 = led1^1; - pc.printf("Received: %s\r\n", rxBuffer); + while (true){ + input=pc.getc(); + if (input=='s'){ + break; + } + } + pc.printf("start!"); + round_counter=0; + score_counter=0; + while(round_counter<10){ + action = rand()%2; + if(action==0){ + wait(1); + } + else if (action==1){ + timer.reset(); + strcpy(txBuffer, "activate_1"); + rf_send(txBuffer, strlen(txBuffer)); + while(true){ + rxLen = rf_receive(rxBuffer, 128); + pc.printf("Received: %s\r\n", rxBuffer); + if(strcmp("finished_1", txBuffer)) { + break; + } + } + score_counter+=timer.read_ms(); + round_counter++; + } + else if (action==2){ + timer.reset(); + strcpy(txBuffer, "activate_2"); + rf_send(txBuffer, strlen(txBuffer)); + while(true){ + rxLen = rf_receive(rxBuffer, 10); + if(strcmp("finished_2", txBuffer)) { + break; + } + } + score_counter+=timer.read_ms(); + round_counter++; + } + else if (action ==3){ + timer.reset(); + strcpy(txBuffer, "activate_3"); + rf_send(txBuffer, strlen(txBuffer)); + while(true){ + rxLen = rf_receive(rxBuffer, 10); + if(strcmp("finished_3", txBuffer)) { + break; + } + } + score_counter+=timer.read_ms(); + round_counter++; + } } - - //Send some data every second - if(timer.read_ms() >= 1000) { - //Reset the timer to 0 - timer.reset(); - // Toggle LED 2. - led2 = led2^1; - //Add to the buffer. You may want to check out sprintf - strcpy(txBuffer, "Jeff is the best TA!"); - //Send the buffer - rf_send(txBuffer, strlen(txBuffer) + 1); - pc.printf("Sent: %s\r\n", txBuffer); - } + pc.printf("Score: %d", score_counter); } }