Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@10:961bf7a76f45, 2019-05-09 (annotated)
- Committer:
- davidwst421
- Date:
- Thu May 09 03:40:19 2019 +0000
- Revision:
- 10:961bf7a76f45
- Parent:
- 9:f88f3f50bbee
- Child:
- 11:4723e7f3f1d2
debug, add avenger theme music
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| davidwst421 | 0:fd8eda608206 | 1 | /* |
| davidwst421 | 0:fd8eda608206 | 2 | ELEC2645 Embedded Systems Project |
| davidwst421 | 0:fd8eda608206 | 3 | School of Electronic & Electrical Engineering |
| davidwst421 | 0:fd8eda608206 | 4 | University of Leeds |
| davidwst421 | 0:fd8eda608206 | 5 | Name: Siuting Wong |
| davidwst421 | 0:fd8eda608206 | 6 | Username: Siuting Wong |
| davidwst421 | 0:fd8eda608206 | 7 | Student ID Number: 201186503 |
| davidwst421 | 0:fd8eda608206 | 8 | Date: 06/05/2019 |
| davidwst421 | 0:fd8eda608206 | 9 | */ |
| davidwst421 | 0:fd8eda608206 | 10 | ///////// pre-processor directives //////// |
| davidwst421 | 0:fd8eda608206 | 11 | #include "mbed.h" |
| davidwst421 | 0:fd8eda608206 | 12 | #include "Gamepad.h" |
| davidwst421 | 0:fd8eda608206 | 13 | #include "N5110.h" |
| davidwst421 | 0:fd8eda608206 | 14 | #include "Engine.h" |
| davidwst421 | 0:fd8eda608206 | 15 | |
| davidwst421 | 0:fd8eda608206 | 16 | #define WALL_WIDTH 2 |
| davidwst421 | 8:97576c8761a8 | 17 | #define WALL_GAP 12 |
| davidwst421 | 0:fd8eda608206 | 18 | #define AVENGER_SIZE 2 |
| davidwst421 | 6:a0f3dbbc8d33 | 19 | #define STONE_SIZE 2 |
| davidwst421 | 2:00a3edbe39b0 | 20 | #define SPEED 2 |
| davidwst421 | 0:fd8eda608206 | 21 | |
| davidwst421 | 0:fd8eda608206 | 22 | /////////////// structs ///////////////// |
| davidwst421 | 0:fd8eda608206 | 23 | struct UserInput { |
| davidwst421 | 0:fd8eda608206 | 24 | Direction d; |
| davidwst421 | 0:fd8eda608206 | 25 | float mag; |
| davidwst421 | 6:a0f3dbbc8d33 | 26 | Vector2D mapped_coord; |
| davidwst421 | 0:fd8eda608206 | 27 | }; |
| davidwst421 | 0:fd8eda608206 | 28 | /////////////// objects /////////////// |
| davidwst421 | 0:fd8eda608206 | 29 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
| davidwst421 | 0:fd8eda608206 | 30 | Gamepad pad; |
| davidwst421 | 0:fd8eda608206 | 31 | Engine eng; |
| davidwst421 | 0:fd8eda608206 | 32 | |
| davidwst421 | 0:fd8eda608206 | 33 | ///////////// prototypes /////////////// |
| davidwst421 | 0:fd8eda608206 | 34 | void init(); |
| davidwst421 | 0:fd8eda608206 | 35 | void update_game(UserInput input); |
| davidwst421 | 0:fd8eda608206 | 36 | void render(); |
| davidwst421 | 0:fd8eda608206 | 37 | void welcome(); |
| davidwst421 | 4:fcd80b40f257 | 38 | void endgame(); |
| davidwst421 | 7:193c0fd7afdd | 39 | void introduction(); |
| davidwst421 | 10:961bf7a76f45 | 40 | void fingersnap(); |
| davidwst421 | 0:fd8eda608206 | 41 | |
| davidwst421 | 7:193c0fd7afdd | 42 | const int Avenger0[25][32] = { |
| davidwst421 | 7:193c0fd7afdd | 43 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 44 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 45 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 46 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 47 | { 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 48 | { 0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 49 | { 0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 50 | { 0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 51 | { 0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 52 | { 0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 53 | { 0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 54 | { 0,0,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 55 | { 0,0,1,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 56 | { 0,0,1,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 57 | { 0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 58 | { 0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 59 | { 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 60 | { 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 61 | { 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 62 | { 0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 63 | { 0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 64 | { 0,0,0,1,0,0,0,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 65 | { 0,0,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 66 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 67 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 68 | }; |
| davidwst421 | 7:193c0fd7afdd | 69 | |
| davidwst421 | 7:193c0fd7afdd | 70 | const int Avenger1[25][32] = { |
| davidwst421 | 7:193c0fd7afdd | 71 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 72 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 73 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 74 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 75 | { 0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 76 | { 0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 77 | { 0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 78 | { 0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 79 | { 0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 80 | { 0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 81 | { 0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 82 | { 0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 83 | { 0,0,0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 84 | { 0,0,0,1,0,0,1,1,0,0,0,1,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 85 | { 0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 86 | { 0,0,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,1,1,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 87 | { 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 88 | { 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 89 | { 0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 90 | { 0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 91 | { 0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 92 | { 0,0,0,1,0,0,0,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 93 | { 0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 94 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 95 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 96 | }; |
| davidwst421 | 7:193c0fd7afdd | 97 | |
| davidwst421 | 7:193c0fd7afdd | 98 | const int intro0[8][84] = { |
| davidwst421 | 7:193c0fd7afdd | 99 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 100 | { 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 101 | { 0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 102 | { 0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 103 | { 0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 104 | { 0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 105 | { 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 106 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 107 | }; |
| davidwst421 | 7:193c0fd7afdd | 108 | const int intro1[8][84] = { |
| davidwst421 | 7:193c0fd7afdd | 109 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 110 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 111 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 112 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 113 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 114 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 115 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 116 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 117 | }; |
| davidwst421 | 7:193c0fd7afdd | 118 | const int intro2[8][84] = { |
| davidwst421 | 7:193c0fd7afdd | 119 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 120 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 121 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 122 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 123 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 124 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0 }, |
| davidwst421 | 8:97576c8761a8 | 125 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 126 | { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, |
| davidwst421 | 7:193c0fd7afdd | 127 | }; |
| davidwst421 | 9:f88f3f50bbee | 128 | |
| davidwst421 | 10:961bf7a76f45 | 129 | const int intro3[16][18] = { |
| davidwst421 | 10:961bf7a76f45 | 130 | { 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 131 | { 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 132 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 133 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 134 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 135 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 136 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 }, |
| davidwst421 | 10:961bf7a76f45 | 137 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }, |
| davidwst421 | 10:961bf7a76f45 | 138 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }, |
| davidwst421 | 10:961bf7a76f45 | 139 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 }, |
| davidwst421 | 10:961bf7a76f45 | 140 | { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 141 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 142 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 143 | { 0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 144 | { 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0 }, |
| davidwst421 | 10:961bf7a76f45 | 145 | { 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 }, |
| davidwst421 | 9:f88f3f50bbee | 146 | }; |
| davidwst421 | 9:f88f3f50bbee | 147 | |
| davidwst421 | 0:fd8eda608206 | 148 | ///////////// functions //////////////// |
| davidwst421 | 0:fd8eda608206 | 149 | int main() { |
| davidwst421 | 8:97576c8761a8 | 150 | while (1) { |
| davidwst421 | 8:97576c8761a8 | 151 | int fps = 8; |
| davidwst421 | 8:97576c8761a8 | 152 | |
| davidwst421 | 8:97576c8761a8 | 153 | init(); // initialise and then display welcome screen... |
| davidwst421 | 8:97576c8761a8 | 154 | welcome(); |
| davidwst421 | 8:97576c8761a8 | 155 | introduction(); |
| davidwst421 | 8:97576c8761a8 | 156 | render(); |
| davidwst421 | 8:97576c8761a8 | 157 | wait(1.0f/fps); // and wait for one frame period |
| davidwst421 | 0:fd8eda608206 | 158 | |
| davidwst421 | 10:961bf7a76f45 | 159 | while (1) { |
| davidwst421 | 8:97576c8761a8 | 160 | eng.read_input(pad); |
| davidwst421 | 8:97576c8761a8 | 161 | eng.update(pad); |
| davidwst421 | 8:97576c8761a8 | 162 | render(); |
| davidwst421 | 8:97576c8761a8 | 163 | wait(1.0f/fps); |
| davidwst421 | 10:961bf7a76f45 | 164 | if (eng.get_score() == 6) { |
| davidwst421 | 10:961bf7a76f45 | 165 | fingersnap(); |
| davidwst421 | 10:961bf7a76f45 | 166 | break; |
| davidwst421 | 10:961bf7a76f45 | 167 | } else if (eng.get_score() < 0) { |
| davidwst421 | 10:961bf7a76f45 | 168 | endgame(); |
| davidwst421 | 10:961bf7a76f45 | 169 | break; |
| davidwst421 | 10:961bf7a76f45 | 170 | } |
| davidwst421 | 8:97576c8761a8 | 171 | } |
| davidwst421 | 0:fd8eda608206 | 172 | } |
| davidwst421 | 0:fd8eda608206 | 173 | } |
| davidwst421 | 0:fd8eda608206 | 174 | |
| davidwst421 | 0:fd8eda608206 | 175 | void init() { |
| davidwst421 | 0:fd8eda608206 | 176 | |
| davidwst421 | 0:fd8eda608206 | 177 | // need to initialise LCD and Gamepad |
| davidwst421 | 0:fd8eda608206 | 178 | lcd.init(); |
| davidwst421 | 0:fd8eda608206 | 179 | pad.init(); |
| davidwst421 | 0:fd8eda608206 | 180 | |
| davidwst421 | 0:fd8eda608206 | 181 | // initialise the game with correct ball and paddle sizes |
| davidwst421 | 7:193c0fd7afdd | 182 | eng.init(WALL_WIDTH,WALL_GAP,STONE_SIZE,SPEED); |
| davidwst421 | 0:fd8eda608206 | 183 | } |
| davidwst421 | 0:fd8eda608206 | 184 | |
| davidwst421 | 0:fd8eda608206 | 185 | void welcome() { |
| davidwst421 | 10:961bf7a76f45 | 186 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 187 | lcd.printString("Eternity Stone",0,0); |
| davidwst421 | 10:961bf7a76f45 | 188 | lcd.printString("Start story",9,4); |
| davidwst421 | 10:961bf7a76f45 | 189 | lcd.drawSprite(25,8,25,32,(int *)Avenger0); |
| davidwst421 | 10:961bf7a76f45 | 190 | lcd.refresh(); |
| davidwst421 | 10:961bf7a76f45 | 191 | pad.tone(440.00,0.21); |
| davidwst421 | 10:961bf7a76f45 | 192 | wait(0.21); |
| davidwst421 | 10:961bf7a76f45 | 193 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 194 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 195 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 196 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 197 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 198 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 199 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 200 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 201 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 202 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 203 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 204 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 205 | pad.tone(587.3,0.42); |
| davidwst421 | 10:961bf7a76f45 | 206 | wait(0.42); |
| davidwst421 | 10:961bf7a76f45 | 207 | pad.tone(880.0,0.21); |
| davidwst421 | 10:961bf7a76f45 | 208 | wait(0.21); |
| davidwst421 | 10:961bf7a76f45 | 209 | pad.tone(784.0,1.40); |
| davidwst421 | 10:961bf7a76f45 | 210 | wait(1.40); |
| davidwst421 | 10:961bf7a76f45 | 211 | pad.tone(698.5,0.70); |
| davidwst421 | 10:961bf7a76f45 | 212 | wait(0.70); |
| davidwst421 | 10:961bf7a76f45 | 213 | pad.tone(659.3,0.70); |
| davidwst421 | 10:961bf7a76f45 | 214 | wait(0.70); |
| davidwst421 | 10:961bf7a76f45 | 215 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 216 | wait(0.70); |
| davidwst421 | 8:97576c8761a8 | 217 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 0:fd8eda608206 | 218 | lcd.clear(); |
| davidwst421 | 6:a0f3dbbc8d33 | 219 | lcd.printString("Eternity Stone",0,0); |
| davidwst421 | 8:97576c8761a8 | 220 | lcd.printString("Start story",9,4); |
| davidwst421 | 6:a0f3dbbc8d33 | 221 | lcd.drawSprite(25,8,25,32,(int *)Avenger0); |
| davidwst421 | 0:fd8eda608206 | 222 | lcd.refresh(); |
| davidwst421 | 6:a0f3dbbc8d33 | 223 | wait(0.5); |
| davidwst421 | 6:a0f3dbbc8d33 | 224 | lcd.clear(); |
| davidwst421 | 6:a0f3dbbc8d33 | 225 | lcd.printString("Eternity Stone",0,0); |
| davidwst421 | 8:97576c8761a8 | 226 | lcd.printString("Start story",9,4); |
| davidwst421 | 6:a0f3dbbc8d33 | 227 | lcd.drawSprite(25,8,25,32,(int *)Avenger1); |
| davidwst421 | 6:a0f3dbbc8d33 | 228 | lcd.refresh(); |
| davidwst421 | 6:a0f3dbbc8d33 | 229 | wait(0.5); |
| davidwst421 | 0:fd8eda608206 | 230 | } |
| davidwst421 | 0:fd8eda608206 | 231 | } |
| davidwst421 | 0:fd8eda608206 | 232 | |
| davidwst421 | 7:193c0fd7afdd | 233 | void introduction() { |
| davidwst421 | 7:193c0fd7afdd | 234 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 235 | lcd.printString("Five years",12,0); |
| davidwst421 | 7:193c0fd7afdd | 236 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 237 | wait(1.0); |
| davidwst421 | 7:193c0fd7afdd | 238 | lcd.printString("Since Thanos",6,2); |
| davidwst421 | 8:97576c8761a8 | 239 | lcd.printString("destroyed half",0,3); |
| davidwst421 | 7:193c0fd7afdd | 240 | lcd.printString("of all life",9,4); |
| davidwst421 | 7:193c0fd7afdd | 241 | lcd.printString("on Earth",18,5); |
| davidwst421 | 7:193c0fd7afdd | 242 | lcd.refresh(); |
| davidwst421 | 9:f88f3f50bbee | 243 | wait(2.0); |
| davidwst421 | 8:97576c8761a8 | 244 | lcd.printString("(Press start)",3,1); |
| davidwst421 | 7:193c0fd7afdd | 245 | wait(1.0); |
| davidwst421 | 7:193c0fd7afdd | 246 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 7:193c0fd7afdd | 247 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 248 | wait(0.5); |
| davidwst421 | 7:193c0fd7afdd | 249 | } |
| davidwst421 | 7:193c0fd7afdd | 250 | lcd.clear(); |
| davidwst421 | 7:193c0fd7afdd | 251 | lcd.printString("You are a",12,0); |
| davidwst421 | 7:193c0fd7afdd | 252 | lcd.printString("member of",15,1); |
| davidwst421 | 7:193c0fd7afdd | 253 | lcd.printString("Avengers and",6,2); |
| davidwst421 | 7:193c0fd7afdd | 254 | lcd.printString("you need to",9,3); |
| davidwst421 | 7:193c0fd7afdd | 255 | lcd.printString("time travel in",0,4); |
| davidwst421 | 7:193c0fd7afdd | 256 | lcd.printString("Quantum realm",3,5); |
| davidwst421 | 7:193c0fd7afdd | 257 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 258 | wait(3.0); |
| davidwst421 | 7:193c0fd7afdd | 259 | while ( pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 7:193c0fd7afdd | 260 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 261 | wait(0.5); |
| davidwst421 | 7:193c0fd7afdd | 262 | } |
| davidwst421 | 7:193c0fd7afdd | 263 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 7:193c0fd7afdd | 264 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 265 | lcd.printString("Use your",18,0); |
| davidwst421 | 10:961bf7a76f45 | 266 | lcd.printString("joystick to",9,1); |
| davidwst421 | 7:193c0fd7afdd | 267 | lcd.printString("send yourself",3,2); |
| davidwst421 | 7:193c0fd7afdd | 268 | lcd.printString("to the right",6,3); |
| davidwst421 | 10:961bf7a76f45 | 269 | lcd.printString("Wormhole",18,4); |
| davidwst421 | 7:193c0fd7afdd | 270 | lcd.drawSprite(0,40,8,84,(int *)intro0); |
| davidwst421 | 7:193c0fd7afdd | 271 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 272 | wait(0.5); |
| davidwst421 | 7:193c0fd7afdd | 273 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 274 | lcd.printString("Use your",18,0); |
| davidwst421 | 10:961bf7a76f45 | 275 | lcd.printString("joystick to",9,1); |
| davidwst421 | 7:193c0fd7afdd | 276 | lcd.printString("send yourself",3,2); |
| davidwst421 | 7:193c0fd7afdd | 277 | lcd.printString("to the right",6,3); |
| davidwst421 | 10:961bf7a76f45 | 278 | lcd.printString("Wormhole",18,4); |
| davidwst421 | 7:193c0fd7afdd | 279 | lcd.drawSprite(0,40,8,84,(int *)intro1); |
| davidwst421 | 7:193c0fd7afdd | 280 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 281 | wait(0.5); |
| davidwst421 | 7:193c0fd7afdd | 282 | lcd.clear(); |
| davidwst421 | 9:f88f3f50bbee | 283 | lcd.printString("Use your",18,0); |
| davidwst421 | 9:f88f3f50bbee | 284 | lcd.printString("joystick to",9,1); |
| davidwst421 | 7:193c0fd7afdd | 285 | lcd.printString("send yourself",3,2); |
| davidwst421 | 7:193c0fd7afdd | 286 | lcd.printString("to the right",6,3); |
| davidwst421 | 9:f88f3f50bbee | 287 | lcd.printString("Wormhole",18,4); |
| davidwst421 | 7:193c0fd7afdd | 288 | lcd.drawSprite(0,40,8,84,(int *)intro2); |
| davidwst421 | 7:193c0fd7afdd | 289 | lcd.refresh(); |
| davidwst421 | 7:193c0fd7afdd | 290 | wait(0.5); |
| davidwst421 | 7:193c0fd7afdd | 291 | } |
| davidwst421 | 9:f88f3f50bbee | 292 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 9:f88f3f50bbee | 293 | lcd.clear(); |
| davidwst421 | 9:f88f3f50bbee | 294 | lcd.printString("try not to",12,0); |
| davidwst421 | 9:f88f3f50bbee | 295 | lcd.printString("interrupt",15,1); |
| davidwst421 | 9:f88f3f50bbee | 296 | lcd.printString("the time",0,2); |
| davidwst421 | 9:f88f3f50bbee | 297 | lcd.printString("line but",0,3); |
| davidwst421 | 9:f88f3f50bbee | 298 | lcd.printString("pass thro.",12,4); |
| davidwst421 | 9:f88f3f50bbee | 299 | lcd.printString("the gap",21,5); |
| davidwst421 | 10:961bf7a76f45 | 300 | lcd.drawSprite(54,16,16,18,(int *)intro3); |
| davidwst421 | 9:f88f3f50bbee | 301 | lcd.drawRect(77,0,2,18,FILL_BLACK); |
| davidwst421 | 9:f88f3f50bbee | 302 | lcd.drawRect(77,30,2,18,FILL_BLACK); |
| davidwst421 | 9:f88f3f50bbee | 303 | lcd.refresh(); |
| davidwst421 | 9:f88f3f50bbee | 304 | wait(0.5); |
| davidwst421 | 9:f88f3f50bbee | 305 | lcd.clear(); |
| davidwst421 | 9:f88f3f50bbee | 306 | lcd.printString("try not to",12,0); |
| davidwst421 | 9:f88f3f50bbee | 307 | lcd.printString("interrupt",15,1); |
| davidwst421 | 9:f88f3f50bbee | 308 | lcd.printString("the time",0,2); |
| davidwst421 | 9:f88f3f50bbee | 309 | lcd.printString("line but",0,3); |
| davidwst421 | 9:f88f3f50bbee | 310 | lcd.printString("pass thro.",12,4); |
| davidwst421 | 9:f88f3f50bbee | 311 | lcd.printString("the gap",21,5); |
| davidwst421 | 10:961bf7a76f45 | 312 | lcd.drawSprite(60,16,16,18,(int *)intro3); |
| davidwst421 | 9:f88f3f50bbee | 313 | lcd.drawRect(77,0,2,18,FILL_BLACK); |
| davidwst421 | 9:f88f3f50bbee | 314 | lcd.drawRect(77,30,2,18,FILL_BLACK); |
| davidwst421 | 9:f88f3f50bbee | 315 | lcd.refresh(); |
| davidwst421 | 9:f88f3f50bbee | 316 | wait(0.5); |
| davidwst421 | 9:f88f3f50bbee | 317 | } |
| davidwst421 | 9:f88f3f50bbee | 318 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 9:f88f3f50bbee | 319 | lcd.clear(); |
| davidwst421 | 9:f88f3f50bbee | 320 | lcd.printString("retrieve 6",12,0); |
| davidwst421 | 9:f88f3f50bbee | 321 | lcd.printString("stones and",12,1); |
| davidwst421 | 9:f88f3f50bbee | 322 | lcd.printString("win the game",6,2); |
| davidwst421 | 9:f88f3f50bbee | 323 | lcd.printString("God speed",15,3); |
| davidwst421 | 9:f88f3f50bbee | 324 | lcd.printString("Avengers!",15,4); |
| davidwst421 | 9:f88f3f50bbee | 325 | lcd.refresh(); |
| davidwst421 | 9:f88f3f50bbee | 326 | pad.leds_on(); |
| davidwst421 | 9:f88f3f50bbee | 327 | wait(0.5); |
| davidwst421 | 9:f88f3f50bbee | 328 | lcd.clear(); |
| davidwst421 | 9:f88f3f50bbee | 329 | lcd.printString("retrieve 6",12,0); |
| davidwst421 | 9:f88f3f50bbee | 330 | lcd.printString("stones and",12,1); |
| davidwst421 | 9:f88f3f50bbee | 331 | lcd.printString("win the game",6,2); |
| davidwst421 | 9:f88f3f50bbee | 332 | lcd.printString("God speed",15,3); |
| davidwst421 | 9:f88f3f50bbee | 333 | lcd.printString("Avengers!",15,4); |
| davidwst421 | 9:f88f3f50bbee | 334 | lcd.refresh(); |
| davidwst421 | 9:f88f3f50bbee | 335 | pad.leds_off(); |
| davidwst421 | 9:f88f3f50bbee | 336 | wait(0.5); |
| davidwst421 | 9:f88f3f50bbee | 337 | } |
| davidwst421 | 7:193c0fd7afdd | 338 | } |
| davidwst421 | 7:193c0fd7afdd | 339 | |
| davidwst421 | 0:fd8eda608206 | 340 | void render() { |
| davidwst421 | 0:fd8eda608206 | 341 | // clear screen, re-draw and refresh |
| davidwst421 | 0:fd8eda608206 | 342 | lcd.clear(); |
| davidwst421 | 0:fd8eda608206 | 343 | eng.draw(lcd); |
| davidwst421 | 0:fd8eda608206 | 344 | lcd.refresh(); |
| davidwst421 | 2:00a3edbe39b0 | 345 | } |
| davidwst421 | 2:00a3edbe39b0 | 346 | |
| davidwst421 | 10:961bf7a76f45 | 347 | void fingersnap() { |
| davidwst421 | 10:961bf7a76f45 | 348 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 349 | lcd.printString("Congrat!!",15,1); |
| davidwst421 | 10:961bf7a76f45 | 350 | lcd.refresh(); |
| davidwst421 | 10:961bf7a76f45 | 351 | pad.tone(440.00,0.21); |
| davidwst421 | 10:961bf7a76f45 | 352 | wait(0.21); |
| davidwst421 | 10:961bf7a76f45 | 353 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 354 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 355 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 356 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 357 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 358 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 359 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 360 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 361 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 362 | wait(0.63); |
| davidwst421 | 10:961bf7a76f45 | 363 | pad.tone(0.0,0.06); |
| davidwst421 | 10:961bf7a76f45 | 364 | wait(0.06); |
| davidwst421 | 10:961bf7a76f45 | 365 | pad.tone(587.3,0.42); |
| davidwst421 | 10:961bf7a76f45 | 366 | wait(0.42); |
| davidwst421 | 10:961bf7a76f45 | 367 | pad.tone(880.0,0.21); |
| davidwst421 | 10:961bf7a76f45 | 368 | wait(0.21); |
| davidwst421 | 10:961bf7a76f45 | 369 | pad.tone(784.0,1.40); |
| davidwst421 | 10:961bf7a76f45 | 370 | wait(1.40); |
| davidwst421 | 10:961bf7a76f45 | 371 | pad.tone(698.5,0.70); |
| davidwst421 | 10:961bf7a76f45 | 372 | wait(0.70); |
| davidwst421 | 10:961bf7a76f45 | 373 | pad.tone(659.3,0.70); |
| davidwst421 | 10:961bf7a76f45 | 374 | wait(0.70); |
| davidwst421 | 10:961bf7a76f45 | 375 | pad.tone(587.3,0.63); |
| davidwst421 | 10:961bf7a76f45 | 376 | wait(0.70); |
| davidwst421 | 10:961bf7a76f45 | 377 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 10:961bf7a76f45 | 378 | lcd.printString("press start",9,4); |
| davidwst421 | 10:961bf7a76f45 | 379 | lcd.printString("to return",15,5); |
| davidwst421 | 10:961bf7a76f45 | 380 | lcd.refresh(); |
| davidwst421 | 10:961bf7a76f45 | 381 | pad.leds_on(); |
| davidwst421 | 10:961bf7a76f45 | 382 | wait(0.5); |
| davidwst421 | 10:961bf7a76f45 | 383 | pad.leds_off(); |
| davidwst421 | 10:961bf7a76f45 | 384 | wait(0.5); |
| davidwst421 | 10:961bf7a76f45 | 385 | } |
| davidwst421 | 10:961bf7a76f45 | 386 | } |
| davidwst421 | 10:961bf7a76f45 | 387 | |
| davidwst421 | 2:00a3edbe39b0 | 388 | void endgame() { |
| davidwst421 | 3:53f0365461c0 | 389 | lcd.clear(); |
| davidwst421 | 10:961bf7a76f45 | 390 | lcd.printString("Mr.Stark",18,1); |
| davidwst421 | 10:961bf7a76f45 | 391 | lcd.printString("I don't feel",6,2); |
| davidwst421 | 10:961bf7a76f45 | 392 | lcd.printString("so good ...",9,3); |
| davidwst421 | 10:961bf7a76f45 | 393 | lcd.refresh(); |
| davidwst421 | 6:a0f3dbbc8d33 | 394 | pad.tone(587.3,0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 395 | wait(0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 396 | pad.tone(0.0,0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 397 | wait(0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 398 | pad.tone(587.3,0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 399 | wait(0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 400 | pad.tone(0.0,0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 401 | wait(0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 402 | pad.tone(587.3,0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 403 | wait(0.63); |
| davidwst421 | 6:a0f3dbbc8d33 | 404 | pad.tone(0.0,0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 405 | wait(0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 406 | pad.tone(698.5,0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 407 | wait(0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 408 | pad.tone(659.3,0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 409 | wait(0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 410 | pad.tone(0.0,0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 411 | wait(0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 412 | pad.tone(659.3,0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 413 | wait(0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 414 | pad.tone(587.3,0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 415 | wait(0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 416 | pad.tone(0.0,0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 417 | wait(0.06); |
| davidwst421 | 6:a0f3dbbc8d33 | 418 | pad.tone(587.3,0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 419 | wait(0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 420 | pad.tone(554.4,0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 421 | wait(0.21); |
| davidwst421 | 6:a0f3dbbc8d33 | 422 | pad.tone(587.3,0.42); |
| davidwst421 | 6:a0f3dbbc8d33 | 423 | wait(0.42); |
| davidwst421 | 8:97576c8761a8 | 424 | while (pad.check_event(Gamepad::START_PRESSED) == false) { |
| davidwst421 | 10:961bf7a76f45 | 425 | lcd.printString("press start",9,4); |
| davidwst421 | 10:961bf7a76f45 | 426 | lcd.printString("to return",15,5); |
| davidwst421 | 8:97576c8761a8 | 427 | lcd.refresh(); |
| davidwst421 | 10:961bf7a76f45 | 428 | wait(0.5); |
| davidwst421 | 8:97576c8761a8 | 429 | } |
| davidwst421 | 8:97576c8761a8 | 430 | |
| davidwst421 | 7:193c0fd7afdd | 431 | } |