QuickClick, a reaction timing game which allows single and multiplayer mode.
Dependencies: Controller Display N5110 Operator mbed
main.cpp@5:b6fcee26c5ff, 2017-04-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |