QuickClick, a reaction timing game which allows single and multiplayer mode.

Dependencies:   Controller Display N5110 Operator mbed

Committer:
domkay97
Date:
Fri Apr 14 22:30:16 2017 +0000
Revision:
3:e67f9ba37049
Parent:
2:c3d86dd51b69
Child:
5:b6fcee26c5ff
Moved functionality from main to operator

Who changed what in which revision?

UserRevisionLine numberNew contents of line
domkay97 0:e19df24a20fc 1 //Dom
domkay97 0:e19df24a20fc 2
domkay97 0:e19df24a20fc 3 #include "mbed.h"
domkay97 0:e19df24a20fc 4 #include "N5110.h"
domkay97 0:e19df24a20fc 5 #include "Display.h"
domkay97 1:fd22ccce4fe9 6 #include "Controller.h"
domkay97 0:e19df24a20fc 7 #include "Operator.h"
domkay97 0:e19df24a20fc 8
domkay97 0:e19df24a20fc 9 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
domkay97 0:e19df24a20fc 10 Display display;
domkay97 1:fd22ccce4fe9 11 Controller pad;
domkay97 0:e19df24a20fc 12 Operator Opp;
domkay97 0:e19df24a20fc 13 int button_val;
domkay97 0:e19df24a20fc 14 int instruction_val;
domkay97 0:e19df24a20fc 15 void starter();
domkay97 0:e19df24a20fc 16
domkay97 0:e19df24a20fc 17 int main() {
domkay97 0:e19df24a20fc 18 button_val=0;
domkay97 0:e19df24a20fc 19 lcd.init();
domkay97 0:e19df24a20fc 20 Opp.init();
domkay97 0:e19df24a20fc 21 display.init();
domkay97 0:e19df24a20fc 22 pad.init();
domkay97 0:e19df24a20fc 23 starter();
domkay97 3:e67f9ba37049 24 while(1) {
domkay97 3:e67f9ba37049 25 instruction_val = Opp.random_instruction(display, lcd);
domkay97 3:e67f9ba37049 26 display.drawCircle(lcd);
domkay97 3:e67f9ba37049 27 button_val = Opp.read_input(pad);
domkay97 3:e67f9ba37049 28 pad.leds_off();
domkay97 3:e67f9ba37049 29 if (button_val == instruction_val) {
domkay97 3:e67f9ba37049 30 Opp.Correct(pad);
domkay97 3:e67f9ba37049 31 } else {
domkay97 3:e67f9ba37049 32 Opp.Game_Over(pad, lcd);
domkay97 3:e67f9ba37049 33 display.init();
domkay97 3:e67f9ba37049 34 pad.init();
domkay97 3:e67f9ba37049 35 starter();
domkay97 3:e67f9ba37049 36 }
domkay97 0:e19df24a20fc 37 }
domkay97 3:e67f9ba37049 38
domkay97 0:e19df24a20fc 39 }
domkay97 0:e19df24a20fc 40 void starter() {
domkay97 0:e19df24a20fc 41
domkay97 0:e19df24a20fc 42
domkay97 2:c3d86dd51b69 43 lcd.printString("Quick Click",10,1);
domkay97 2:c3d86dd51b69 44 lcd.printString("Start >",24,4);
domkay97 0:e19df24a20fc 45 lcd.refresh();
domkay97 0:e19df24a20fc 46
domkay97 0:e19df24a20fc 47 // wait flashing LEDs until start button is pressed
domkay97 2:c3d86dd51b69 48 while (pad.check_event(Controller::START_PRESSED) == false) {
domkay97 0:e19df24a20fc 49 pad.leds_on();
domkay97 0:e19df24a20fc 50 wait(0.1);
domkay97 0:e19df24a20fc 51 pad.leds_off();
domkay97 0:e19df24a20fc 52 wait(0.1);
domkay97 0:e19df24a20fc 53 }
domkay97 0:e19df24a20fc 54
domkay97 0:e19df24a20fc 55 }