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

Dependencies:   mbed FATFileSystem

Committer:
rottenegg
Date:
Fri May 10 21:25:27 2019 +0000
Revision:
26:716bcd47f3ca
Parent:
21:f3b0ce18b44f
FINAL_SUBMISSION; ; Changes:; WDplayer: Major Memory Leek fixed related to fclose(); Game_Manager: Tuned Scene Order and Improved Random number generator.; SceneFuctions: Added a Randomly changing Object to Scene 4.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rottenegg 9:ac396c818874 1 #ifndef SCENEFUNCTIONS_H
rottenegg 9:ac396c818874 2 #define SCENEFUNCTIONS_H
rottenegg 9:ac396c818874 3
rottenegg 13:95323e0f2fcb 4 /** SceneFunctions Class
rottenegg 13:95323e0f2fcb 5 @brief Contains Private Functions for each Pre Event and Pos Event. SceneFunctions is friend and parent to SceneCreator.
rottenegg 13:95323e0f2fcb 6 @breif Also contains ultity functions like button locks and small animation sequences
rottenegg 13:95323e0f2fcb 7
rottenegg 13:95323e0f2fcb 8 @author Saad Tayyab
rottenegg 13:95323e0f2fcb 9 @date 25th April 2019
rottenegg 13:95323e0f2fcb 10 */
rottenegg 9:ac396c818874 11 #include "mbed.h"
rottenegg 17:7d4d8905b608 12 #include "Bitmap.h"
rottenegg 9:ac396c818874 13 #include "CaMove.h"
rottenegg 21:f3b0ce18b44f 14 #include "WDplayer.h"
rottenegg 9:ac396c818874 15
rottenegg 13:95323e0f2fcb 16 class SceneFunctions {
rottenegg 13:95323e0f2fcb 17 friend class SceneCreator;
rottenegg 13:95323e0f2fcb 18
rottenegg 13:95323e0f2fcb 19 private :
rottenegg 21:f3b0ce18b44f 20 //Hardware pointers
rottenegg 13:95323e0f2fcb 21 DigitalIn *_BOK;
rottenegg 21:f3b0ce18b44f 22 //Private Variables
rottenegg 21:f3b0ce18b44f 23 int _progress; //for Fucntions that require Completion path (e.g do this then this to open)
rottenegg 13:95323e0f2fcb 24 bool _p[3];
rottenegg 13:95323e0f2fcb 25
rottenegg 9:ac396c818874 26 //constructor functions
rottenegg 9:ac396c818874 27 void set_buttonPin(PinName pin);
rottenegg 9:ac396c818874 28 void deletebutton();
rottenegg 21:f3b0ce18b44f 29 void reset_variables();
rottenegg 21:f3b0ce18b44f 30
rottenegg 9:ac396c818874 31 //Ultility Functions
rottenegg 21:f3b0ce18b44f 32 void transition(Bitmap &lcd); //transition effect
rottenegg 21:f3b0ce18b44f 33 void lockin(Bitmap &lcd); //stops program until user presses button
rottenegg 21:f3b0ce18b44f 34 void flash(Bitmap &lcd); //makes screen flash
rottenegg 21:f3b0ce18b44f 35
rottenegg 21:f3b0ce18b44f 36 //Obj Functions create dissapearing or appearing Objects - pre- function (occurs before everything else)
rottenegg 21:f3b0ce18b44f 37 //Event Functions used to create mini instances due to a user clicking something
rottenegg 15:3d29fb195958 38
rottenegg 9:ac396c818874 39 //scene 0 Functions
rottenegg 9:ac396c818874 40 void set_scene0(CaMove &CM);
rottenegg 9:ac396c818874 41 //pre functions objs
rottenegg 17:7d4d8905b608 42 void obj0_scene0(Bitmap &lcd);
rottenegg 9:ac396c818874 43 //pos functions events
rottenegg 17:7d4d8905b608 44 void event0_scene0(Bitmap &lcd);
rottenegg 17:7d4d8905b608 45 void event1_scene0(Bitmap &lcd);
rottenegg 15:3d29fb195958 46
rottenegg 9:ac396c818874 47 //scene 1 Functions
rottenegg 9:ac396c818874 48 void set_scene1(CaMove &CM);
rottenegg 9:ac396c818874 49 //pre
rottenegg 17:7d4d8905b608 50 void obj0_scene1(Bitmap &lcd);
rottenegg 17:7d4d8905b608 51 void obj1_scene1(Bitmap &lcd);
rottenegg 9:ac396c818874 52 //pos
rottenegg 17:7d4d8905b608 53 void event0_scene1(Bitmap &lcd);
rottenegg 17:7d4d8905b608 54 void event1_scene1(Bitmap &lcd,CaMove &CM);
rottenegg 15:3d29fb195958 55
rottenegg 10:4fda7b01484a 56 //Scene2 Functions
rottenegg 10:4fda7b01484a 57 void set_scene2(CaMove &CM);
rottenegg 10:4fda7b01484a 58 //pre functions
rottenegg 17:7d4d8905b608 59 void obj0_scene2(Bitmap &lcd);
rottenegg 17:7d4d8905b608 60 void obj1_scene2(Bitmap &lcd,int rng);
rottenegg 10:4fda7b01484a 61 //pos functions
rottenegg 21:f3b0ce18b44f 62 void event0_scene2(Bitmap &lcd,CaMove &CM,WDplayer &wav);
rottenegg 15:3d29fb195958 63
rottenegg 10:4fda7b01484a 64 //Scene 3 Function
rottenegg 10:4fda7b01484a 65 void set_scene3(CaMove &CM);
rottenegg 10:4fda7b01484a 66 //pre function
rottenegg 17:7d4d8905b608 67 void obj0_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 68 void obj1_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 69 void obj3_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 70 void obj4_scene3(Bitmap &lcd);
rottenegg 10:4fda7b01484a 71 //pos function
rottenegg 17:7d4d8905b608 72 void event0_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 73 void event1_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 74 void event2_scene3(Bitmap &lcd);
rottenegg 17:7d4d8905b608 75 void event3_scene3(Bitmap &lcd,CaMove &CM);
rottenegg 10:4fda7b01484a 76
rottenegg 15:3d29fb195958 77 //Scene 4 Function
rottenegg 15:3d29fb195958 78 void set_scene4(CaMove &CM);
rottenegg 15:3d29fb195958 79 //pre functions
rottenegg 17:7d4d8905b608 80 void obj1_scene4(Bitmap &lcd);
rottenegg 26:716bcd47f3ca 81 void obj2_scene4(Bitmap &lcd,int rng);
rottenegg 17:7d4d8905b608 82 void obj3_scene4(Bitmap &lcd);
rottenegg 15:3d29fb195958 83 //pos function
rottenegg 21:f3b0ce18b44f 84 void event0_scene4(Bitmap &lcd,CaMove &CM,WDplayer &wav);
rottenegg 10:4fda7b01484a 85
rottenegg 9:ac396c818874 86 };
rottenegg 9:ac396c818874 87
rottenegg 9:ac396c818874 88 #endif