QuickClick, a reaction timing game which allows single and multiplayer mode.
Dependencies: Controller Display N5110 Operator mbed
main.cpp@2:c3d86dd51b69, 2017-04-12 (annotated)
- Committer:
- domkay97
- Date:
- Wed Apr 12 23:47:49 2017 +0000
- Revision:
- 2:c3d86dd51b69
- Parent:
- 1:fd22ccce4fe9
- Child:
- 3:e67f9ba37049
New inputs for user added in gameplay
Who changed what in which revision?
User | Revision | Line number | New 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 | int score; |
domkay97 | 0:e19df24a20fc | 16 | void starter(); |
domkay97 | 0:e19df24a20fc | 17 | |
domkay97 | 0:e19df24a20fc | 18 | int main() { |
domkay97 | 0:e19df24a20fc | 19 | button_val=0; |
domkay97 | 0:e19df24a20fc | 20 | score = 0; |
domkay97 | 0:e19df24a20fc | 21 | lcd.init(); |
domkay97 | 0:e19df24a20fc | 22 | Opp.init(); |
domkay97 | 0:e19df24a20fc | 23 | display.init(); |
domkay97 | 0:e19df24a20fc | 24 | pad.init(); |
domkay97 | 0:e19df24a20fc | 25 | starter(); |
domkay97 | 0:e19df24a20fc | 26 | while(1) { |
domkay97 | 1:fd22ccce4fe9 | 27 | instruction_val = Opp.random_instruction(display, lcd); |
domkay97 | 1:fd22ccce4fe9 | 28 | display.drawCircle(lcd); |
domkay97 | 2:c3d86dd51b69 | 29 | button_val = Opp.read_input(pad); |
domkay97 | 2:c3d86dd51b69 | 30 | pad.leds_off(); |
domkay97 | 0:e19df24a20fc | 31 | if (button_val == instruction_val) { |
domkay97 | 0:e19df24a20fc | 32 | score++; |
domkay97 | 0:e19df24a20fc | 33 | pad.led(1,1); |
domkay97 | 0:e19df24a20fc | 34 | pad.led(2,1); |
domkay97 | 0:e19df24a20fc | 35 | pad.led(3,1); |
domkay97 | 0:e19df24a20fc | 36 | pad.tone(100.0,0.2); |
domkay97 | 0:e19df24a20fc | 37 | char buffer[14]; |
domkay97 | 0:e19df24a20fc | 38 | sprintf(buffer,"Button = %2d",button_val); |
domkay97 | 0:e19df24a20fc | 39 | lcd.printString(buffer,0,1); |
domkay97 | 0:e19df24a20fc | 40 | lcd.refresh(); |
domkay97 | 0:e19df24a20fc | 41 | } else { |
domkay97 | 0:e19df24a20fc | 42 | pad.tone(700.0,1); |
domkay97 | 2:c3d86dd51b69 | 43 | while(pad.check_event(Controller::BACK_PRESSED) == false) { |
domkay97 | 0:e19df24a20fc | 44 | char buffer[14]; |
domkay97 | 0:e19df24a20fc | 45 | sprintf(buffer,"Score = %2d",score); |
domkay97 | 0:e19df24a20fc | 46 | lcd.printString(buffer,0,1); |
domkay97 | 0:e19df24a20fc | 47 | lcd.refresh(); |
domkay97 | 0:e19df24a20fc | 48 | pad.leds_off(); |
domkay97 | 0:e19df24a20fc | 49 | pad.led(4,1); |
domkay97 | 0:e19df24a20fc | 50 | pad.led(5,1); |
domkay97 | 2:c3d86dd51b69 | 51 | pad.led(6,1); |
domkay97 | 2:c3d86dd51b69 | 52 | } |
domkay97 | 2:c3d86dd51b69 | 53 | score = 0; |
domkay97 | 2:c3d86dd51b69 | 54 | display.init(); |
domkay97 | 2:c3d86dd51b69 | 55 | pad.init(); |
domkay97 | 2:c3d86dd51b69 | 56 | starter(); } |
domkay97 | 2:c3d86dd51b69 | 57 | wait(0.2); |
domkay97 | 0:e19df24a20fc | 58 | } |
domkay97 | 0:e19df24a20fc | 59 | } |
domkay97 | 0:e19df24a20fc | 60 | void starter() { |
domkay97 | 0:e19df24a20fc | 61 | |
domkay97 | 0:e19df24a20fc | 62 | |
domkay97 | 2:c3d86dd51b69 | 63 | lcd.printString("Quick Click",10,1); |
domkay97 | 2:c3d86dd51b69 | 64 | lcd.printString("Start >",24,4); |
domkay97 | 0:e19df24a20fc | 65 | lcd.refresh(); |
domkay97 | 0:e19df24a20fc | 66 | |
domkay97 | 0:e19df24a20fc | 67 | // wait flashing LEDs until start button is pressed |
domkay97 | 2:c3d86dd51b69 | 68 | while (pad.check_event(Controller::START_PRESSED) == false) { |
domkay97 | 0:e19df24a20fc | 69 | pad.leds_on(); |
domkay97 | 0:e19df24a20fc | 70 | wait(0.1); |
domkay97 | 0:e19df24a20fc | 71 | pad.leds_off(); |
domkay97 | 0:e19df24a20fc | 72 | wait(0.1); |
domkay97 | 0:e19df24a20fc | 73 | } |
domkay97 | 0:e19df24a20fc | 74 | |
domkay97 | 0:e19df24a20fc | 75 | } |