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
main/main.cpp
- Committer:
- Noximilien
- Date:
- 2019-02-28
- Revision:
- 3:10918b0f7a7d
- Parent:
- main.cpp@ 2:ec89189860e0
- Child:
- 4:02c63aaa2df9
File content as of revision 3:10918b0f7a7d:
/* ELEC2645 Embedded Systems Project School of Electronic & Electrical Engineering University of Leeds Name: Dmitrijs Griskovs Username: el17dg Student ID Number: 201160286 Date: start - 25/02/2019 */ #include "mbed.h" #include "N5110.h" #include "Gamepad.h" #include "game.h" N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad gamepad; AnalogIn pot(PTB2); AnalogIn x_dir(PTB11); AnalogIn y_dir(PTB10); static const unsigned int MAX_LINE_LENGTH = 14; void intro(); void pointer(int x, int y); void pointer_position(int menu_number); void ship_movement(); char line_buffer[MAX_LINE_LENGTH]; int menu_number = 0; int total_menu_number = 3; float time_delay = 100; int x_movement = 20; int y_movement = 30; int main(){ lcd.init(); intro(); while(1){ lcd.clear(); pointer_position(menu_number); if(y_dir.read() > 0.6){ menu_number -= 1; wait_ms(time_delay); } if (y_dir.read() < 0.4){ menu_number += 1; wait_ms(time_delay); } if (menu_number < 0) { menu_number += total_menu_number; } if (menu_number >= total_menu_number) { menu_number -= total_menu_number; } lcd.printString(" Start ",1,2); lcd.printString(" Tutorial",1,3); lcd.printString(" Settings",1,4); sprintf(line_buffer, "%i", gamepad.L_PRESSED); lcd.printString(line_buffer,0,0); if (menu_number == 1 && gamepad.A_PRESSED == 1){ ship_movement(); game_start(lcd, x_movement, y_movement); } lcd.refresh(); wait_ms(1000/10); } } void intro(){ lcd.clear(); lcd.printString(" StarBarians",1,1); lcd.refresh(); wait(0.5); lcd.printString(" And the quest ",1,2); lcd.printString(" of the Princess Boobeta",1,3); lcd.printString(" Boobeta",1,4); lcd.refresh(); wait(0.5); } void pointer(int x, int y){ int cursor[84] = {0,0,0,0,1,0,0,0,0,0,1,1, 0,0,1,1,1,1,0,0,0,1,0,0, 0,1,0,0,1,1,1,0,1,0,0,0, 1,1,1,1,1,0,1,1,1,0,1,1, 0,1,0,0,1,1,1,0,1,0,0,0, 0,0,1,1,1,1,0,0,0,1,0,0, 0,0,0,0,1,0,0,0,0,0,1,1}; lcd.drawSprite(x,y,7,12,cursor); } void pointer_position(int menu_number){ //32 for 5th row- 25 for 4th row if (menu_number == 0){ pointer(70, 17); } if (menu_number == 1){ pointer(70, 25); } if (menu_number == 2){ pointer(70, 32); } } void ship_movement(){ if(y_dir.read() > 0.6){ y_movement += 1; //wait_ms(time_delay); } if (y_dir.read() < 0.4){ y_movement -= 1; //wait_ms(time_delay); } if(x_dir.read() > 0.6){ x_movement += 1; //wait_ms(time_delay); } if (x_dir.read() < 0.4){ x_movement -= 1; //wait_ms(time_delay); } }