generated from sigonasr2/CPlusPlusProjectTemplate
Setup background story script Part 1
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
600b3472f6
commit
37ce031cb9
@ -1,8 +1,17 @@
|
||||
#define OLC_PGE_APPLICATION
|
||||
#include "pixelGameEngine.h"
|
||||
#include "data.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum GAMESTATE{
|
||||
CUTSCENE_1,
|
||||
GAMEWORLD
|
||||
};
|
||||
|
||||
#define WIDTH 256
|
||||
#define HEIGHT 224
|
||||
|
||||
class SeasonsOfLoneliness : public olc::PixelGameEngine
|
||||
{
|
||||
public:
|
||||
@ -12,26 +21,72 @@ public:
|
||||
}
|
||||
|
||||
public:
|
||||
GAMESTATE GAME_STATE=CUTSCENE_1;
|
||||
int textInd=0;
|
||||
int transitionTime=0;
|
||||
float elapsedTime=0;
|
||||
const float TARGET_RATE = 1/60.0;
|
||||
std::string CUTSCENE_CONSOLE_TEXT = "";
|
||||
|
||||
bool OnUserCreate() override
|
||||
{
|
||||
SetPixelMode(olc::Pixel::ALPHA);
|
||||
ConsoleCaptureStdOut(true);
|
||||
//ConsoleCaptureStdOut(true);
|
||||
// Called once at the start, so create things here
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnUserUpdate(float fElapsedTime) override
|
||||
{
|
||||
elapsedTime+=fElapsedTime;
|
||||
while (elapsedTime>TARGET_RATE) {
|
||||
elapsedTime-=TARGET_RATE;
|
||||
updateGame();
|
||||
}
|
||||
|
||||
drawGame();
|
||||
// called once per frame
|
||||
return true;
|
||||
}
|
||||
|
||||
void updateGame(){
|
||||
switch (GAME_STATE) {
|
||||
case CUTSCENE_1:{
|
||||
if (textInd<STORY_TEXT1.length()) {
|
||||
CUTSCENE_CONSOLE_TEXT+=STORY_TEXT1[textInd++];
|
||||
if (GetTextSize(CUTSCENE_CONSOLE_TEXT).x>WIDTH-32) {
|
||||
int tempIndex=textInd;
|
||||
while (CUTSCENE_CONSOLE_TEXT[--tempIndex]!=' ') {
|
||||
CUTSCENE_CONSOLE_TEXT.erase(tempIndex);
|
||||
}
|
||||
CUTSCENE_CONSOLE_TEXT.erase(tempIndex++);
|
||||
CUTSCENE_CONSOLE_TEXT+='\n';
|
||||
while (tempIndex<textInd) {
|
||||
CUTSCENE_CONSOLE_TEXT+=STORY_TEXT1[tempIndex++];
|
||||
}
|
||||
}
|
||||
}
|
||||
}break;
|
||||
}
|
||||
}
|
||||
|
||||
void drawGame(){
|
||||
switch (GAME_STATE) {
|
||||
case CUTSCENE_1:{
|
||||
if (textInd<STORY_TEXT1.length()) {
|
||||
DrawStringDecal({16,16},CUTSCENE_CONSOLE_TEXT,olc::GREEN,{1,1});
|
||||
FillRectDecal({16+((textInd+1)*8%(WIDTH-32),16+GetTextSize(CUTSCENE_CONSOLE_TEXT).y},{4,8},olc::GREEN);
|
||||
}
|
||||
}break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
SeasonsOfLoneliness demo;
|
||||
if (demo.Construct(256, 240, 4, 4))
|
||||
if (demo.Construct(256, 224, 4, 4))
|
||||
demo.Start();
|
||||
|
||||
return 0;
|
||||
|
BIN
Seasons_of_Loneliness
Executable file
BIN
Seasons_of_Loneliness
Executable file
Binary file not shown.
12
data.h
Normal file
12
data.h
Normal file
@ -0,0 +1,12 @@
|
||||
#include <string>
|
||||
|
||||
std::string STORY_TEXT1=R"(ERROR CODE -1: Transmission Failed. Lost Receiving Target Location.
|
||||
|
||||
GPSNAV-17 - UNABLE TO LOCATE
|
||||
GPSNAV-18 - UNABLE TO LOCATE
|
||||
GPSNAV-22 - UNABLE TO LOCATE
|
||||
GPSNAV-26 - UNABLE TO LOCATE
|
||||
GPSNAV-31 - UNABLE TO LOCATE
|
||||
GPSNAV-33 - UNABLE TO LOCATE
|
||||
GPSNAV-35 - UNABLE TO LOCATE
|
||||
)";
|
Loading…
x
Reference in New Issue
Block a user