ELEC2645 (2018/19) / Mbed 2 deprecated el18jz_

Dependencies:   mbed

Committer:
jiaxinZHOU
Date:
Wed May 08 21:44:02 2019 +0000
Revision:
0:07c4fef6c0af
Child:
1:538386e72e40
1st edition

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jiaxinZHOU 0:07c4fef6c0af 1 /*
jiaxinZHOU 0:07c4fef6c0af 2 ELEC2645 Embedded Systems Project
jiaxinZHOU 0:07c4fef6c0af 3 School of Electronic & Electrical Engineering
jiaxinZHOU 0:07c4fef6c0af 4 University of Leeds
jiaxinZHOU 0:07c4fef6c0af 5
jiaxinZHOU 0:07c4fef6c0af 6 Name: Jiaxin Zhou
jiaxinZHOU 0:07c4fef6c0af 7 Username: Jiaxin Zhou
jiaxinZHOU 0:07c4fef6c0af 8 Student ID Number: 201282650
jiaxinZHOU 0:07c4fef6c0af 9 Date:16/04/2019
jiaxinZHOU 0:07c4fef6c0af 10
jiaxinZHOU 0:07c4fef6c0af 11 */
jiaxinZHOU 0:07c4fef6c0af 12
jiaxinZHOU 0:07c4fef6c0af 13 #include "mbed.h"
jiaxinZHOU 0:07c4fef6c0af 14 #include "Gamepad.h"
jiaxinZHOU 0:07c4fef6c0af 15 #include "N5110.h"
jiaxinZHOU 0:07c4fef6c0af 16 #include "Move.h"
jiaxinZHOU 0:07c4fef6c0af 17 #include "Menu.h"
jiaxinZHOU 0:07c4fef6c0af 18
jiaxinZHOU 0:07c4fef6c0af 19
jiaxinZHOU 0:07c4fef6c0af 20 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
jiaxinZHOU 0:07c4fef6c0af 21 Gamepad pad;
jiaxinZHOU 0:07c4fef6c0af 22 Move move;
jiaxinZHOU 0:07c4fef6c0af 23 Menu menu;
jiaxinZHOU 0:07c4fef6c0af 24
jiaxinZHOU 0:07c4fef6c0af 25 void initial();
jiaxinZHOU 0:07c4fef6c0af 26 void welcome();
jiaxinZHOU 0:07c4fef6c0af 27 void render();
jiaxinZHOU 0:07c4fef6c0af 28 void menus(N5110 &lcd);
jiaxinZHOU 0:07c4fef6c0af 29 int input(int sel,Gamepad &pad);
jiaxinZHOU 0:07c4fef6c0af 30
jiaxinZHOU 0:07c4fef6c0af 31
jiaxinZHOU 0:07c4fef6c0af 32 int main () {
jiaxinZHOU 0:07c4fef6c0af 33 int fps = 1;
jiaxinZHOU 0:07c4fef6c0af 34 initial();
jiaxinZHOU 0:07c4fef6c0af 35 welcome();
jiaxinZHOU 0:07c4fef6c0af 36 menu.menus(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 37 fps = menu.difficulty(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 38 render();
jiaxinZHOU 0:07c4fef6c0af 39 move.getfood();
jiaxinZHOU 0:07c4fef6c0af 40 while(1) {
jiaxinZHOU 0:07c4fef6c0af 41 //process_input();
jiaxinZHOU 0:07c4fef6c0af 42 //update_game_state();
jiaxinZHOU 0:07c4fef6c0af 43 //refresh_display();
jiaxinZHOU 0:07c4fef6c0af 44 //wait_ms(1000/fps);
jiaxinZHOU 0:07c4fef6c0af 45 move.eatfood();
jiaxinZHOU 0:07c4fef6c0af 46 move.update(pad);
jiaxinZHOU 0:07c4fef6c0af 47 move.updatebody();
jiaxinZHOU 0:07c4fef6c0af 48
jiaxinZHOU 0:07c4fef6c0af 49 render();
jiaxinZHOU 0:07c4fef6c0af 50 move.die(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 51 wait(1.0f/fps);
jiaxinZHOU 0:07c4fef6c0af 52 }
jiaxinZHOU 0:07c4fef6c0af 53
jiaxinZHOU 0:07c4fef6c0af 54
jiaxinZHOU 0:07c4fef6c0af 55 }
jiaxinZHOU 0:07c4fef6c0af 56
jiaxinZHOU 0:07c4fef6c0af 57 void initial() {
jiaxinZHOU 0:07c4fef6c0af 58 lcd.init();
jiaxinZHOU 0:07c4fef6c0af 59 pad.init();
jiaxinZHOU 0:07c4fef6c0af 60 move.initial();
jiaxinZHOU 0:07c4fef6c0af 61 }
jiaxinZHOU 0:07c4fef6c0af 62
jiaxinZHOU 0:07c4fef6c0af 63 void render()
jiaxinZHOU 0:07c4fef6c0af 64 {
jiaxinZHOU 0:07c4fef6c0af 65 // clear screen, re-draw and refresh
jiaxinZHOU 0:07c4fef6c0af 66 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 67 move.onlcd(lcd);
jiaxinZHOU 0:07c4fef6c0af 68 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 69 }
jiaxinZHOU 0:07c4fef6c0af 70
jiaxinZHOU 0:07c4fef6c0af 71 void welcome() {
jiaxinZHOU 0:07c4fef6c0af 72 lcd.printString(" snake! ",0,1);
jiaxinZHOU 0:07c4fef6c0af 73 lcd.printString(" Press Start ",0,4);
jiaxinZHOU 0:07c4fef6c0af 74 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 75
jiaxinZHOU 0:07c4fef6c0af 76 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
jiaxinZHOU 0:07c4fef6c0af 77 pad.leds_on();
jiaxinZHOU 0:07c4fef6c0af 78 wait(0.1);
jiaxinZHOU 0:07c4fef6c0af 79 pad.leds_off();
jiaxinZHOU 0:07c4fef6c0af 80 wait(0.1);
jiaxinZHOU 0:07c4fef6c0af 81 }
jiaxinZHOU 0:07c4fef6c0af 82
jiaxinZHOU 0:07c4fef6c0af 83 }