ELEC2645 (2018/19) / Mbed 2 deprecated el18jz_

Dependencies:   mbed

Committer:
jiaxinZHOU
Date:
Wed May 08 22:10:38 2019 +0000
Revision:
1:538386e72e40
Parent:
0:07c4fef6c0af
Child:
4:0f2006e9c8f8
2nd e

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 1:538386e72e40 18 /** @file main.cpp
jiaxinZHOU 1:538386e72e40 19 * @brief This file is used to callback all functions.
jiaxinZHOU 1:538386e72e40 20 */
jiaxinZHOU 0:07c4fef6c0af 21
jiaxinZHOU 0:07c4fef6c0af 22 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
jiaxinZHOU 0:07c4fef6c0af 23 Gamepad pad;
jiaxinZHOU 0:07c4fef6c0af 24 Move move;
jiaxinZHOU 0:07c4fef6c0af 25 Menu menu;
jiaxinZHOU 0:07c4fef6c0af 26
jiaxinZHOU 0:07c4fef6c0af 27 void initial();
jiaxinZHOU 0:07c4fef6c0af 28 void welcome();
jiaxinZHOU 0:07c4fef6c0af 29 void render();
jiaxinZHOU 0:07c4fef6c0af 30 void menus(N5110 &lcd);
jiaxinZHOU 0:07c4fef6c0af 31 int input(int sel,Gamepad &pad);
jiaxinZHOU 0:07c4fef6c0af 32
jiaxinZHOU 1:538386e72e40 33 ///////////// MAIN.CPP ////////////////
jiaxinZHOU 0:07c4fef6c0af 34 int main () {
jiaxinZHOU 0:07c4fef6c0af 35 int fps = 1;
jiaxinZHOU 0:07c4fef6c0af 36 initial();
jiaxinZHOU 0:07c4fef6c0af 37 welcome();
jiaxinZHOU 0:07c4fef6c0af 38 menu.menus(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 39 fps = menu.difficulty(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 40 render();
jiaxinZHOU 0:07c4fef6c0af 41 move.getfood();
jiaxinZHOU 0:07c4fef6c0af 42 while(1) {
jiaxinZHOU 0:07c4fef6c0af 43 //process_input();
jiaxinZHOU 0:07c4fef6c0af 44 //update_game_state();
jiaxinZHOU 0:07c4fef6c0af 45 //refresh_display();
jiaxinZHOU 0:07c4fef6c0af 46 //wait_ms(1000/fps);
jiaxinZHOU 0:07c4fef6c0af 47 move.eatfood();
jiaxinZHOU 0:07c4fef6c0af 48 move.update(pad);
jiaxinZHOU 0:07c4fef6c0af 49 move.updatebody();
jiaxinZHOU 0:07c4fef6c0af 50
jiaxinZHOU 0:07c4fef6c0af 51 render();
jiaxinZHOU 0:07c4fef6c0af 52 move.die(lcd,pad);
jiaxinZHOU 0:07c4fef6c0af 53 wait(1.0f/fps);
jiaxinZHOU 0:07c4fef6c0af 54 }
jiaxinZHOU 0:07c4fef6c0af 55
jiaxinZHOU 0:07c4fef6c0af 56
jiaxinZHOU 0:07c4fef6c0af 57 }
jiaxinZHOU 0:07c4fef6c0af 58
jiaxinZHOU 0:07c4fef6c0af 59 void initial() {
jiaxinZHOU 0:07c4fef6c0af 60 lcd.init();
jiaxinZHOU 0:07c4fef6c0af 61 pad.init();
jiaxinZHOU 0:07c4fef6c0af 62 move.initial();
jiaxinZHOU 0:07c4fef6c0af 63 }
jiaxinZHOU 0:07c4fef6c0af 64
jiaxinZHOU 0:07c4fef6c0af 65 void render()
jiaxinZHOU 0:07c4fef6c0af 66 {
jiaxinZHOU 0:07c4fef6c0af 67 // clear screen, re-draw and refresh
jiaxinZHOU 0:07c4fef6c0af 68 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 69 move.onlcd(lcd);
jiaxinZHOU 0:07c4fef6c0af 70 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 71 }
jiaxinZHOU 0:07c4fef6c0af 72
jiaxinZHOU 0:07c4fef6c0af 73 void welcome() {
jiaxinZHOU 0:07c4fef6c0af 74 lcd.printString(" snake! ",0,1);
jiaxinZHOU 0:07c4fef6c0af 75 lcd.printString(" Press Start ",0,4);
jiaxinZHOU 0:07c4fef6c0af 76 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 77
jiaxinZHOU 0:07c4fef6c0af 78 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
jiaxinZHOU 0:07c4fef6c0af 79 pad.leds_on();
jiaxinZHOU 0:07c4fef6c0af 80 wait(0.1);
jiaxinZHOU 0:07c4fef6c0af 81 pad.leds_off();
jiaxinZHOU 0:07c4fef6c0af 82 wait(0.1);
jiaxinZHOU 0:07c4fef6c0af 83 }
jiaxinZHOU 0:07c4fef6c0af 84
jiaxinZHOU 0:07c4fef6c0af 85 }