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

Dependencies:   Controller Display N5110 Operator mbed

Committer:
domkay97
Date:
Sat Apr 15 15:40:05 2017 +0000
Revision:
5:b6fcee26c5ff
Parent:
3:e67f9ba37049
Child:
6:e7510e120617
Completed prototype 1;

Who changed what in which revision?

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