
Zeyu Feng 201377605
Dependencies: mbed
On Minerva
Instruction/Instruction.cpp@22:cded0cd8e1c9, 2020-05-22 (annotated)
- Committer:
- el19zf
- Date:
- Fri May 22 16:07:02 2020 +0000
- Revision:
- 22:cded0cd8e1c9
- Parent:
- 18:93d050e7705d
Final Submission. I have read and agreed with Statement of Academic Integrity.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el19zf | 18:93d050e7705d | 1 | #include "Instruction.h" |
el19zf | 18:93d050e7705d | 2 | |
el19zf | 18:93d050e7705d | 3 | const char instruction [11][15] = { |
el19zf | 18:93d050e7705d | 4 | {" Instruction "}, |
el19zf | 18:93d050e7705d | 5 | {"--------------"}, |
el19zf | 18:93d050e7705d | 6 | {"Move- Joystick"}, |
el19zf | 18:93d050e7705d | 7 | {"--------------"}, |
el19zf | 18:93d050e7705d | 8 | {"control 'peop-"}, |
el19zf | 18:93d050e7705d | 9 | {"le' away from "}, |
el19zf | 18:93d050e7705d | 10 | {"shots and rea-"}, |
el19zf | 18:93d050e7705d | 11 | {"ch the destin-"}, |
el19zf | 18:93d050e7705d | 12 | {"ation. "}, |
el19zf | 18:93d050e7705d | 13 | {" Press B "}, |
el19zf | 18:93d050e7705d | 14 | {" back to menu "} |
el19zf | 18:93d050e7705d | 15 | }; |
el19zf | 18:93d050e7705d | 16 | |
el19zf | 18:93d050e7705d | 17 | Instruction::Instruction() |
el19zf | 18:93d050e7705d | 18 | { |
el19zf | 18:93d050e7705d | 19 | |
el19zf | 18:93d050e7705d | 20 | } |
el19zf | 18:93d050e7705d | 21 | |
el19zf | 18:93d050e7705d | 22 | Instruction::~Instruction() |
el19zf | 18:93d050e7705d | 23 | { |
el19zf | 18:93d050e7705d | 24 | |
el19zf | 18:93d050e7705d | 25 | } |
el19zf | 18:93d050e7705d | 26 | |
el19zf | 18:93d050e7705d | 27 | void Instruction::init() |
el19zf | 18:93d050e7705d | 28 | { |
el19zf | 18:93d050e7705d | 29 | _draw_flag = 0; |
el19zf | 18:93d050e7705d | 30 | } |
el19zf | 18:93d050e7705d | 31 | |
el19zf | 18:93d050e7705d | 32 | void Instruction::draw(N5110 &lcd, Gamepad &pad) |
el19zf | 18:93d050e7705d | 33 | { |
el19zf | 18:93d050e7705d | 34 | init(); |
el19zf | 18:93d050e7705d | 35 | pad.tone(10,0.05); |
el19zf | 18:93d050e7705d | 36 | pad.set_bpm(0); |
el19zf | 18:93d050e7705d | 37 | pad.reset_buttons(); |
el19zf | 18:93d050e7705d | 38 | while (!pad.B_pressed()) { |
el19zf | 18:93d050e7705d | 39 | lcd.clear(); |
el19zf | 18:93d050e7705d | 40 | _d = pad.get_direction(); |
el19zf | 18:93d050e7705d | 41 | if(_d == N||_d ==NE||_d==NW) { |
el19zf | 18:93d050e7705d | 42 | _draw_flag = _draw_flag - 1; |
el19zf | 18:93d050e7705d | 43 | } else if(_d == S||_d==SE||_d==SW) { |
el19zf | 18:93d050e7705d | 44 | _draw_flag = _draw_flag + 1; |
el19zf | 18:93d050e7705d | 45 | } |
el19zf | 18:93d050e7705d | 46 | // |
el19zf | 18:93d050e7705d | 47 | if(_draw_flag < 0) { |
el19zf | 18:93d050e7705d | 48 | _draw_flag = 0; |
el19zf | 18:93d050e7705d | 49 | } else if(_draw_flag > 5) |
el19zf | 18:93d050e7705d | 50 | _draw_flag = 5; |
el19zf | 18:93d050e7705d | 51 | |
el19zf | 18:93d050e7705d | 52 | for(int i = 0; i < 6; i++) |
el19zf | 18:93d050e7705d | 53 | lcd.printString(instruction[_draw_flag + i],0,i); |
el19zf | 18:93d050e7705d | 54 | lcd.refresh(); |
el19zf | 18:93d050e7705d | 55 | pad.leds_on(); |
el19zf | 18:93d050e7705d | 56 | wait(0.25); |
el19zf | 18:93d050e7705d | 57 | } |
el19zf | 18:93d050e7705d | 58 | } |