Initial publish

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

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?

UserRevisionLine numberNew 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 }