Game for Leeds University Gamepad for the FRDM-K64F: Game is a RPG Horror Title.

Dependencies:   mbed FATFileSystem

Committer:
rottenegg
Date:
Fri Apr 26 02:31:11 2019 +0000
Revision:
10:4fda7b01484a
Parent:
9:ac396c818874
Child:
11:7f3e9bc7366d
CaMove: Added Additional Chaser Character Model.; SceneCreator: Added RNG input to cause Minor Changes.; SceneFunctions: Added Scene 2, 3 Functions.; Ready For Main GAME MANAGER...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rottenegg 0:af8236e47084 1 /*
rottenegg 0:af8236e47084 2 ELEC2645 Embedded Systems Project
rottenegg 0:af8236e47084 3 School of Electronic & Electrical Engineering
rottenegg 0:af8236e47084 4 University of Leeds
rottenegg 0:af8236e47084 5 Name:Saad Tayyab
rottenegg 0:af8236e47084 6 Username:el17st
rottenegg 0:af8236e47084 7 Student ID Number:201145512
rottenegg 0:af8236e47084 8 Date: 18/04/2019
rottenegg 0:af8236e47084 9 */
rottenegg 0:af8236e47084 10
rottenegg 0:af8236e47084 11 #include "mbed.h"
rottenegg 7:cbec3402b4e3 12 #include "WDplayer.h"
rottenegg 8:e3a76a808a4c 13 #include "SDFileSystem.h"
rottenegg 7:cbec3402b4e3 14 #include "Bitmap.h"
rottenegg 7:cbec3402b4e3 15 #include "CaMove.h"
rottenegg 8:e3a76a808a4c 16 #include "SceneCreator.h"
rottenegg 8:e3a76a808a4c 17
rottenegg 8:e3a76a808a4c 18 SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd");
rottenegg 8:e3a76a808a4c 19 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
rottenegg 8:e3a76a808a4c 20 CaMove CM(PTB9,PTB11,PTB10);
rottenegg 9:ac396c818874 21 SceneCreator SNC(PTD0);
rottenegg 10:4fda7b01484a 22 Timer Time;
rottenegg 8:e3a76a808a4c 23
rottenegg 8:e3a76a808a4c 24 int main() {
rottenegg 8:e3a76a808a4c 25 lcd.init();
rottenegg 10:4fda7b01484a 26 /*
rottenegg 10:4fda7b01484a 27 Time.start();
rottenegg 10:4fda7b01484a 28 SNC.Scenesp(lcd,CM,0,40,20,Fd,0);
rottenegg 10:4fda7b01484a 29 Time.stop();
rottenegg 10:4fda7b01484a 30 int Random = (int)Time.read();
rottenegg 10:4fda7b01484a 31 Random = Random % 3;
rottenegg 10:4fda7b01484a 32 SNC.Scenesp(lcd,CM,1,35,29,Fd,Random);
rottenegg 10:4fda7b01484a 33 SNC.Scenesp(lcd,CM,2,61,17,Lt,Random);
rottenegg 10:4fda7b01484a 34 */
rottenegg 10:4fda7b01484a 35 SNC.Scenesp(lcd,CM,3,58,26,Bd,0);
rottenegg 8:e3a76a808a4c 36
rottenegg 8:e3a76a808a4c 37 }
rottenegg 8:e3a76a808a4c 38
rottenegg 8:e3a76a808a4c 39 /*
rottenegg 8:e3a76a808a4c 40
rottenegg 8:e3a76a808a4c 41 SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd");
rottenegg 8:e3a76a808a4c 42 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
rottenegg 8:e3a76a808a4c 43 CaMove CM(PTB9,PTB11,PTB10);
rottenegg 8:e3a76a808a4c 44
rottenegg 8:e3a76a808a4c 45 void speak();
rottenegg 8:e3a76a808a4c 46 void speak2();
rottenegg 8:e3a76a808a4c 47 void trans();
rottenegg 0:af8236e47084 48
rottenegg 0:af8236e47084 49 int main() {
rottenegg 8:e3a76a808a4c 50 int evecount = 0;
rottenegg 8:e3a76a808a4c 51 CM.init(40,20,Fd);
rottenegg 8:e3a76a808a4c 52 lcd.init();
rottenegg 8:e3a76a808a4c 53 CM.set_region(4,21,5,24);
rottenegg 8:e3a76a808a4c 54 CM.set_region(71,31,10,14); // region 0
rottenegg 8:e3a76a808a4c 55
rottenegg 8:e3a76a808a4c 56 while(CM.in_screen()) {
rottenegg 8:e3a76a808a4c 57 lcd.clear();
rottenegg 8:e3a76a808a4c 58 Bitmap::renderBMP(SCN[0],lcd,0,0);
rottenegg 8:e3a76a808a4c 59
rottenegg 8:e3a76a808a4c 60 if (evecount == 0) {
rottenegg 8:e3a76a808a4c 61 lcd.drawRect(5,2,18,2,FILL_BLACK);
rottenegg 8:e3a76a808a4c 62 lcd.drawRect(4,21,5,24,FILL_BLACK);
rottenegg 8:e3a76a808a4c 63 }
rottenegg 8:e3a76a808a4c 64
rottenegg 8:e3a76a808a4c 65 CM.move(lcd);
rottenegg 8:e3a76a808a4c 66 int x = CM.get_treg();
rottenegg 8:e3a76a808a4c 67 //Interative Region 1 Triggered
rottenegg 8:e3a76a808a4c 68 if (x == 0) {
rottenegg 8:e3a76a808a4c 69 evecount = 1;
rottenegg 8:e3a76a808a4c 70 trans();
rottenegg 8:e3a76a808a4c 71 speak();
rottenegg 8:e3a76a808a4c 72 trans();
rottenegg 8:e3a76a808a4c 73 }
rottenegg 8:e3a76a808a4c 74 if (x == 1) {
rottenegg 8:e3a76a808a4c 75 trans();
rottenegg 8:e3a76a808a4c 76 speak2();
rottenegg 8:e3a76a808a4c 77 trans();
rottenegg 8:e3a76a808a4c 78
rottenegg 8:e3a76a808a4c 79 }
rottenegg 8:e3a76a808a4c 80 lcd.refresh();
rottenegg 8:e3a76a808a4c 81 wait(0.1);
rottenegg 8:e3a76a808a4c 82 }
rottenegg 8:e3a76a808a4c 83 }
rottenegg 8:e3a76a808a4c 84 void trans() {
rottenegg 8:e3a76a808a4c 85 for (int i = 0;i < 84;i++) {
rottenegg 8:e3a76a808a4c 86 lcd.drawRect(0,0,i,48,FILL_BLACK);
rottenegg 8:e3a76a808a4c 87 lcd.refresh();
rottenegg 8:e3a76a808a4c 88 }
rottenegg 8:e3a76a808a4c 89 for (int i = 0;i < 84;i++) {
rottenegg 8:e3a76a808a4c 90 lcd.drawRect(0,0,i,48,FILL_WHITE);
rottenegg 8:e3a76a808a4c 91 lcd.refresh();
rottenegg 8:e3a76a808a4c 92 }
rottenegg 8:e3a76a808a4c 93 }
rottenegg 5:860087ff295e 94
rottenegg 8:e3a76a808a4c 95 void speak() {
rottenegg 8:e3a76a808a4c 96 lcd.clear();
rottenegg 8:e3a76a808a4c 97 lcd.printString("Hello my name",0,0);
rottenegg 8:e3a76a808a4c 98 lcd.printString("Veigar i shall",0,1);
rottenegg 8:e3a76a808a4c 99 lcd.printString("Help you ...",0,2);
rottenegg 8:e3a76a808a4c 100 lcd.printString("find what you",0,3);
rottenegg 8:e3a76a808a4c 101 lcd.printString("seek. now go..",0,4);
rottenegg 8:e3a76a808a4c 102 lcd.refresh();
rottenegg 8:e3a76a808a4c 103 wait(1);
rottenegg 8:e3a76a808a4c 104 }
rottenegg 8:e3a76a808a4c 105
rottenegg 8:e3a76a808a4c 106 void speak2() {
rottenegg 8:e3a76a808a4c 107 lcd.clear();
rottenegg 8:e3a76a808a4c 108 lcd.printString("its a lamp",0,0);
rottenegg 8:e3a76a808a4c 109 lcd.printString("quite eerie",0,1);
rottenegg 8:e3a76a808a4c 110 lcd.refresh();
rottenegg 8:e3a76a808a4c 111 wait(1);
rottenegg 8:e3a76a808a4c 112 }
rottenegg 8:e3a76a808a4c 113
rottenegg 8:e3a76a808a4c 114 */