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
Fork of el17dg by
tutorial/tutorial.cpp@28:35af3843de8f, 2019-04-10 (annotated)
- Committer:
- Noximilien
- Date:
- Wed Apr 10 15:42:10 2019 +0000
- Revision:
- 28:35af3843de8f
- Parent:
- 27:f05f4e738ba9
- Child:
- 29:579e00b7f118
Moved starSpawnDelay to stars.h. Made enemies move y-direction as the game score increase. Added more comments. Cleaned the code a bit. Changed struct to gameObject in the main.cpp. Made some functions less than 20 lines.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Noximilien | 24:0570cb4b92d7 | 1 | #include "main.h" |
| Noximilien | 24:0570cb4b92d7 | 2 | #include "menu.h" |
| Noximilien | 24:0570cb4b92d7 | 3 | #include "tutorial.h" |
| Noximilien | 24:0570cb4b92d7 | 4 | #include "constants.h" |
| Noximilien | 24:0570cb4b92d7 | 5 | #include "models.h" |
| Noximilien | 24:0570cb4b92d7 | 6 | |
| Noximilien | 24:0570cb4b92d7 | 7 | |
| Noximilien | 27:f05f4e738ba9 | 8 | const int total_pages = 7; |
| Noximilien | 24:0570cb4b92d7 | 9 | const float time_delay = 100; |
| Noximilien | 24:0570cb4b92d7 | 10 | |
| Noximilien | 24:0570cb4b92d7 | 11 | Tutorial::Tutorial() { |
| Noximilien | 24:0570cb4b92d7 | 12 | current_page = 0; |
| Noximilien | 24:0570cb4b92d7 | 13 | } |
| Noximilien | 24:0570cb4b92d7 | 14 | |
| Noximilien | 24:0570cb4b92d7 | 15 | /**@brief |
| Noximilien | 24:0570cb4b92d7 | 16 | * This function just displays some strings of the dysplaye to tell the player |
| Noximilien | 24:0570cb4b92d7 | 17 | * how to use the controls and what to do. |
| Noximilien | 24:0570cb4b92d7 | 18 | */ |
| Noximilien | 24:0570cb4b92d7 | 19 | bool Tutorial::updateAndWriteTutorial(){ |
| Noximilien | 24:0570cb4b92d7 | 20 | if(x_dir.read() > joy_threshold_max_x){ |
| Noximilien | 24:0570cb4b92d7 | 21 | current_page -= 1; |
| Noximilien | 24:0570cb4b92d7 | 22 | wait_ms(time_delay); |
| Noximilien | 24:0570cb4b92d7 | 23 | } |
| Noximilien | 24:0570cb4b92d7 | 24 | else if (x_dir.read() < joy_threshold_min_x){ |
| Noximilien | 24:0570cb4b92d7 | 25 | current_page += 1; |
| Noximilien | 24:0570cb4b92d7 | 26 | wait_ms(time_delay); |
| Noximilien | 24:0570cb4b92d7 | 27 | } |
| Noximilien | 24:0570cb4b92d7 | 28 | if (current_page < 0) { |
| Noximilien | 24:0570cb4b92d7 | 29 | current_page += total_pages; |
| Noximilien | 24:0570cb4b92d7 | 30 | } |
| Noximilien | 24:0570cb4b92d7 | 31 | if (current_page >= total_pages) { |
| Noximilien | 24:0570cb4b92d7 | 32 | current_page -= total_pages; |
| Noximilien | 24:0570cb4b92d7 | 33 | } |
| Noximilien | 24:0570cb4b92d7 | 34 | |
| Noximilien | 24:0570cb4b92d7 | 35 | |
| Noximilien | 24:0570cb4b92d7 | 36 | bool back_to_menu = false; |
| Noximilien | 24:0570cb4b92d7 | 37 | |
| Noximilien | 24:0570cb4b92d7 | 38 | if (current_page == 0){ |
| Noximilien | 24:0570cb4b92d7 | 39 | lcd.printString("X - shoot",0,1); |
| Noximilien | 24:0570cb4b92d7 | 40 | lcd.printString("START - Pause",0,2); |
| Noximilien | 24:0570cb4b92d7 | 41 | lcd.printString("JOYSTICK - is ",0,3); |
| Noximilien | 24:0570cb4b92d7 | 42 | lcd.printString("ship movement",0,4); |
| Noximilien | 24:0570cb4b92d7 | 43 | } |
| Noximilien | 24:0570cb4b92d7 | 44 | |
| Noximilien | 24:0570cb4b92d7 | 45 | else if (current_page == 1){ |
| Noximilien | 24:0570cb4b92d7 | 46 | lcd.printString("Evade enemy ",0,1); |
| Noximilien | 24:0570cb4b92d7 | 47 | lcd.printString("shots and",0,2); |
| Noximilien | 24:0570cb4b92d7 | 48 | lcd.printString("don't let ",0,3); |
| Noximilien | 24:0570cb4b92d7 | 49 | lcd.printString("them pass.",0,4); |
| Noximilien | 24:0570cb4b92d7 | 50 | } |
| Noximilien | 24:0570cb4b92d7 | 51 | |
| Noximilien | 24:0570cb4b92d7 | 52 | else if (current_page == 2){ |
| Noximilien | 27:f05f4e738ba9 | 53 | lcd.printString("Your health is",0,1); |
| Noximilien | 27:f05f4e738ba9 | 54 | lcd.printString("shown below",0,2); |
| Noximilien | 27:f05f4e738ba9 | 55 | lcd.printString("the screen ",0,3); |
| Noximilien | 27:f05f4e738ba9 | 56 | lcd.printString("Its LEDs. ",0,4); |
| Noximilien | 27:f05f4e738ba9 | 57 | } |
| Noximilien | 27:f05f4e738ba9 | 58 | |
| Noximilien | 27:f05f4e738ba9 | 59 | else if (current_page == 3){ |
| Noximilien | 24:0570cb4b92d7 | 60 | lcd.printString("Also. ",0,1); |
| Noximilien | 24:0570cb4b92d7 | 61 | lcd.printString("Kill the ",5,2); |
| Noximilien | 24:0570cb4b92d7 | 62 | lcd.printString("Enemies!!! ",10,3); |
| Noximilien | 24:0570cb4b92d7 | 63 | } |
| Noximilien | 24:0570cb4b92d7 | 64 | |
| Noximilien | 27:f05f4e738ba9 | 65 | else if (current_page == 4){ |
| Noximilien | 27:f05f4e738ba9 | 66 | lcd.printString("foe died= 30",0,1); |
| Noximilien | 27:f05f4e738ba9 | 67 | lcd.printString("miss shot= -10",0,2); |
| Noximilien | 28:35af3843de8f | 68 | lcd.printString("foe left= -50",0,3); |
| Noximilien | 27:f05f4e738ba9 | 69 | lcd.printString("Be careful ",10,4); |
| Noximilien | 27:f05f4e738ba9 | 70 | } |
| Noximilien | 27:f05f4e738ba9 | 71 | |
| Noximilien | 27:f05f4e738ba9 | 72 | else if (current_page == 5){ |
| Noximilien | 27:f05f4e738ba9 | 73 | lcd.printString("As your score",0,1); |
| Noximilien | 27:f05f4e738ba9 | 74 | lcd.printString("increase, so ",0,2); |
| Noximilien | 27:f05f4e738ba9 | 75 | lcd.printString("does the game ",0,3); |
| Noximilien | 27:f05f4e738ba9 | 76 | lcd.printString("difficulty ",10,4); |
| Noximilien | 27:f05f4e738ba9 | 77 | } |
| Noximilien | 27:f05f4e738ba9 | 78 | |
| Noximilien | 27:f05f4e738ba9 | 79 | else if (current_page == 6){ |
| Noximilien | 27:f05f4e738ba9 | 80 | lcd.printString("Good Luck!!! ",0,3); |
| Noximilien | 27:f05f4e738ba9 | 81 | } |
| Noximilien | 27:f05f4e738ba9 | 82 | |
| Noximilien | 24:0570cb4b92d7 | 83 | char buffer[1]; |
| Noximilien | 24:0570cb4b92d7 | 84 | sprintf(buffer,"page #%i", current_page); |
| Noximilien | 24:0570cb4b92d7 | 85 | lcd.printString(buffer,20,0); |
| Noximilien | 24:0570cb4b92d7 | 86 | |
| Noximilien | 24:0570cb4b92d7 | 87 | lcd.drawSpriteOnTop(right_arrow_pos_x, arrows_pos_y, 7, 10, (int *)tutorialArrowRight); |
| Noximilien | 24:0570cb4b92d7 | 88 | lcd.drawSpriteOnTop(left_arrow_pos_x, arrows_pos_y, 7, 10, (int *)tutorialArrowLeft); |
| Noximilien | 24:0570cb4b92d7 | 89 | lcd.printString("Push B to Exit",0,5); |
| Noximilien | 24:0570cb4b92d7 | 90 | |
| Noximilien | 24:0570cb4b92d7 | 91 | if (gamepad.check_event(gamepad.B_PRESSED)){ |
| Noximilien | 27:f05f4e738ba9 | 92 | gamepad.check_event(gamepad.B_PRESSED); |
| Noximilien | 24:0570cb4b92d7 | 93 | back_to_menu = true; |
| Noximilien | 24:0570cb4b92d7 | 94 | } |
| Noximilien | 24:0570cb4b92d7 | 95 | return back_to_menu; |
| Noximilien | 24:0570cb4b92d7 | 96 | |
| Noximilien | 24:0570cb4b92d7 | 97 | } |
