Initial publish
Dependencies: mbed
Fork of el17dg by
main/main.cpp@4:02c63aaa2df9, 2019-03-03 (annotated)
- Committer:
- Noximilien
- Date:
- Sun Mar 03 23:36:34 2019 +0000
- Revision:
- 4:02c63aaa2df9
- Parent:
- 3:10918b0f7a7d
- Child:
- 5:2b9181bc5c89
Decided to switch to the class system (need to understand it better). Removed the parts of the menu from the main (was adviced to keep it separate). Have made it go from the menu into the game. ; To Do: the animation, setting, tutorial, in-game menu.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Noximilien | 0:69abdc43ae39 | 1 | /* |
Noximilien | 0:69abdc43ae39 | 2 | ELEC2645 Embedded Systems Project |
Noximilien | 0:69abdc43ae39 | 3 | School of Electronic & Electrical Engineering |
Noximilien | 0:69abdc43ae39 | 4 | University of Leeds |
Noximilien | 0:69abdc43ae39 | 5 | Name: Dmitrijs Griskovs |
Noximilien | 0:69abdc43ae39 | 6 | Username: el17dg |
Noximilien | 0:69abdc43ae39 | 7 | Student ID Number: 201160286 |
Noximilien | 0:69abdc43ae39 | 8 | Date: start - 25/02/2019 |
Noximilien | 0:69abdc43ae39 | 9 | */ |
Noximilien | 0:69abdc43ae39 | 10 | |
Noximilien | 0:69abdc43ae39 | 11 | |
Noximilien | 4:02c63aaa2df9 | 12 | #include "main.h" |
Noximilien | 3:10918b0f7a7d | 13 | #include "game.h" |
Noximilien | 4:02c63aaa2df9 | 14 | #include "menu.h" |
Noximilien | 3:10918b0f7a7d | 15 | |
Noximilien | 0:69abdc43ae39 | 16 | |
Noximilien | 0:69abdc43ae39 | 17 | |
Noximilien | 1:5aa2312d3e94 | 18 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
Noximilien | 4:02c63aaa2df9 | 19 | |
Noximilien | 3:10918b0f7a7d | 20 | Gamepad gamepad; |
Noximilien | 4:02c63aaa2df9 | 21 | |
Noximilien | 1:5aa2312d3e94 | 22 | AnalogIn pot(PTB2); |
Noximilien | 2:ec89189860e0 | 23 | AnalogIn x_dir(PTB11); |
Noximilien | 2:ec89189860e0 | 24 | AnalogIn y_dir(PTB10); |
Noximilien | 2:ec89189860e0 | 25 | |
Noximilien | 4:02c63aaa2df9 | 26 | Menu menu; |
Noximilien | 4:02c63aaa2df9 | 27 | Game game; |
Noximilien | 4:02c63aaa2df9 | 28 | |
Noximilien | 4:02c63aaa2df9 | 29 | //static const unsigned int MAX_LINE_LENGTH = 14; |
Noximilien | 3:10918b0f7a7d | 30 | |
Noximilien | 1:5aa2312d3e94 | 31 | |
Noximilien | 1:5aa2312d3e94 | 32 | void intro(); |
Noximilien | 2:ec89189860e0 | 33 | void pointer(int x, int y); |
Noximilien | 2:ec89189860e0 | 34 | void pointer_position(int menu_number); |
Noximilien | 3:10918b0f7a7d | 35 | void ship_movement(); |
Noximilien | 3:10918b0f7a7d | 36 | |
Noximilien | 4:02c63aaa2df9 | 37 | //char line_buffer[MAX_LINE_LENGTH]; |
Noximilien | 2:ec89189860e0 | 38 | |
Noximilien | 4:02c63aaa2df9 | 39 | |
Noximilien | 3:10918b0f7a7d | 40 | int x_movement = 20; |
Noximilien | 3:10918b0f7a7d | 41 | int y_movement = 30; |
Noximilien | 0:69abdc43ae39 | 42 | |
Noximilien | 4:02c63aaa2df9 | 43 | ScreenOption current_screen = ScreenOption_Menu; |
Noximilien | 4:02c63aaa2df9 | 44 | |
Noximilien | 4:02c63aaa2df9 | 45 | void intro(); |
Noximilien | 4:02c63aaa2df9 | 46 | |
Noximilien | 1:5aa2312d3e94 | 47 | int main(){ |
Noximilien | 1:5aa2312d3e94 | 48 | lcd.init(); |
Noximilien | 4:02c63aaa2df9 | 49 | gamepad.init(); |
Noximilien | 1:5aa2312d3e94 | 50 | |
Noximilien | 1:5aa2312d3e94 | 51 | intro(); |
Noximilien | 1:5aa2312d3e94 | 52 | |
Noximilien | 4:02c63aaa2df9 | 53 | while(1){ //Waiting for the option "start game" to be selected and for the button B to be pressed |
Noximilien | 1:5aa2312d3e94 | 54 | lcd.clear(); |
Noximilien | 2:ec89189860e0 | 55 | |
Noximilien | 4:02c63aaa2df9 | 56 | if (current_screen == ScreenOption_Game) { |
Noximilien | 4:02c63aaa2df9 | 57 | bool gameIsPaused = game.updateAndDraw(); |
Noximilien | 4:02c63aaa2df9 | 58 | if (gameIsPaused) { |
Noximilien | 4:02c63aaa2df9 | 59 | current_screen = ScreenOption_Menu; |
Noximilien | 4:02c63aaa2df9 | 60 | } |
Noximilien | 4:02c63aaa2df9 | 61 | } |
Noximilien | 4:02c63aaa2df9 | 62 | else if (current_screen == ScreenOption_Menu) { |
Noximilien | 4:02c63aaa2df9 | 63 | bool wantsToChangeScreen = menu.updateAndDraw(); |
Noximilien | 4:02c63aaa2df9 | 64 | if (wantsToChangeScreen) { |
Noximilien | 4:02c63aaa2df9 | 65 | current_screen = menu.getCurrentScreenSelection(); |
Noximilien | 4:02c63aaa2df9 | 66 | } |
Noximilien | 2:ec89189860e0 | 67 | } |
Noximilien | 2:ec89189860e0 | 68 | |
Noximilien | 2:ec89189860e0 | 69 | |
Noximilien | 1:5aa2312d3e94 | 70 | lcd.refresh(); |
Noximilien | 1:5aa2312d3e94 | 71 | wait_ms(1000/10); |
Noximilien | 1:5aa2312d3e94 | 72 | } |
Noximilien | 1:5aa2312d3e94 | 73 | } |
Noximilien | 1:5aa2312d3e94 | 74 | |
Noximilien | 4:02c63aaa2df9 | 75 | void intro(){ // This just will be an intro for the game. |
Noximilien | 1:5aa2312d3e94 | 76 | lcd.clear(); |
Noximilien | 1:5aa2312d3e94 | 77 | lcd.printString(" StarBarians",1,1); |
Noximilien | 1:5aa2312d3e94 | 78 | lcd.refresh(); |
Noximilien | 2:ec89189860e0 | 79 | wait(0.5); |
Noximilien | 1:5aa2312d3e94 | 80 | lcd.printString(" And the quest ",1,2); |
Noximilien | 4:02c63aaa2df9 | 81 | lcd.printString(" of the Princess Spacecate",1,3); |
Noximilien | 4:02c63aaa2df9 | 82 | lcd.printString(" Spacecate",1,4); |
Noximilien | 1:5aa2312d3e94 | 83 | lcd.refresh(); |
Noximilien | 2:ec89189860e0 | 84 | wait(0.5); |
Noximilien | 4:02c63aaa2df9 | 85 | } |