Initial publish
Dependencies: mbed
Fork of el17dg by
main/main.cpp@17:69a85c909566, 2019-03-19 (annotated)
- Committer:
- Noximilien
- Date:
- Tue Mar 19 10:41:51 2019 +0000
- Revision:
- 17:69a85c909566
- Parent:
- 14:e8de27c4d0d4
- Child:
- 18:6becc9f9de5e
I have made the enemy appear at truly random positions using srand, I have made player's life show as LEDs light.
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 | 17:69a85c909566 | 25 | AnalogIn rand_y(PTB3); |
Noximilien | 2:ec89189860e0 | 26 | |
Noximilien | 4:02c63aaa2df9 | 27 | Menu menu; |
Noximilien | 4:02c63aaa2df9 | 28 | Game game; |
Noximilien | 4:02c63aaa2df9 | 29 | |
Noximilien | 4:02c63aaa2df9 | 30 | //static const unsigned int MAX_LINE_LENGTH = 14; |
Noximilien | 3:10918b0f7a7d | 31 | |
Noximilien | 1:5aa2312d3e94 | 32 | |
Noximilien | 1:5aa2312d3e94 | 33 | void intro(); |
Noximilien | 2:ec89189860e0 | 34 | void pointer(int x, int y); |
Noximilien | 2:ec89189860e0 | 35 | void pointer_position(int menu_number); |
Noximilien | 3:10918b0f7a7d | 36 | void ship_movement(); |
Noximilien | 4:02c63aaa2df9 | 37 | //char line_buffer[MAX_LINE_LENGTH]; |
Noximilien | 2:ec89189860e0 | 38 | |
Noximilien | 4:02c63aaa2df9 | 39 | |
Noximilien | 0:69abdc43ae39 | 40 | |
Noximilien | 4:02c63aaa2df9 | 41 | ScreenOption current_screen = ScreenOption_Menu; |
Noximilien | 4:02c63aaa2df9 | 42 | |
Noximilien | 4:02c63aaa2df9 | 43 | void intro(); |
Noximilien | 4:02c63aaa2df9 | 44 | |
Noximilien | 1:5aa2312d3e94 | 45 | int main(){ |
Noximilien | 1:5aa2312d3e94 | 46 | lcd.init(); |
Noximilien | 4:02c63aaa2df9 | 47 | gamepad.init(); |
Noximilien | 17:69a85c909566 | 48 | //gamepad.leds_on(); |
Noximilien | 17:69a85c909566 | 49 | gamepad.led(1,1.0); |
Noximilien | 1:5aa2312d3e94 | 50 | |
Noximilien | 1:5aa2312d3e94 | 51 | intro(); |
Noximilien | 17:69a85c909566 | 52 | srand(rand_y * 1000000); //Makeing the generated y position for the enemy to be trully random. |
Noximilien | 1:5aa2312d3e94 | 53 | |
Noximilien | 4:02c63aaa2df9 | 54 | while(1){ //Waiting for the option "start game" to be selected and for the button B to be pressed |
Noximilien | 1:5aa2312d3e94 | 55 | lcd.clear(); |
Noximilien | 2:ec89189860e0 | 56 | |
Noximilien | 4:02c63aaa2df9 | 57 | if (current_screen == ScreenOption_Game) { |
Noximilien | 4:02c63aaa2df9 | 58 | bool gameIsPaused = game.updateAndDraw(); |
Noximilien | 4:02c63aaa2df9 | 59 | if (gameIsPaused) { |
Noximilien | 4:02c63aaa2df9 | 60 | current_screen = ScreenOption_Menu; |
Noximilien | 4:02c63aaa2df9 | 61 | } |
Noximilien | 4:02c63aaa2df9 | 62 | } |
Noximilien | 4:02c63aaa2df9 | 63 | else if (current_screen == ScreenOption_Menu) { |
Noximilien | 4:02c63aaa2df9 | 64 | bool wantsToChangeScreen = menu.updateAndDraw(); |
Noximilien | 4:02c63aaa2df9 | 65 | if (wantsToChangeScreen) { |
Noximilien | 4:02c63aaa2df9 | 66 | current_screen = menu.getCurrentScreenSelection(); |
Noximilien | 4:02c63aaa2df9 | 67 | } |
Noximilien | 2:ec89189860e0 | 68 | } |
Noximilien | 2:ec89189860e0 | 69 | |
Noximilien | 1:5aa2312d3e94 | 70 | lcd.refresh(); |
Noximilien | 14:e8de27c4d0d4 | 71 | wait_ms(1000/fps); |
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 | } |