generated from sigonasr2/CPlusPlusProjectTemplate
Dynamic adjustable window sizes
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
a59acd4634
commit
63440c5996
BIN
MeercaChase
BIN
MeercaChase
Binary file not shown.
@ -13,6 +13,9 @@ using namespace std;
|
|||||||
#define DOWN 2
|
#define DOWN 2
|
||||||
#define LEFT 3
|
#define LEFT 3
|
||||||
|
|
||||||
|
#define WINDOW_WIDTH 480
|
||||||
|
#define WINDOW_HEIGHT 240
|
||||||
|
|
||||||
#define TAIL_DISTANCE 4
|
#define TAIL_DISTANCE 4
|
||||||
|
|
||||||
struct TailData{
|
struct TailData{
|
||||||
@ -40,12 +43,13 @@ public:
|
|||||||
olc::Decal*meerca,*negg,*badnegg,*goldennegg,*rainbownegg;
|
olc::Decal*meerca,*negg,*badnegg,*goldennegg,*rainbownegg;
|
||||||
const float UPDATE_RATE = 0.016666667f;
|
const float UPDATE_RATE = 0.016666667f;
|
||||||
const int NEGG_BOUNDARY=6;
|
const int NEGG_BOUNDARY=6;
|
||||||
|
const int WALL_BOUNDARY=-8;
|
||||||
float accumulatedTime = 0.0f;
|
float accumulatedTime = 0.0f;
|
||||||
int frameCount=0;
|
int frameCount=0;
|
||||||
int moveSpd=4;
|
int moveSpd=4;
|
||||||
int neggType=1;
|
int neggType=1;
|
||||||
float meercaSpd[2] = {0,0};
|
float meercaSpd[2] = {0,0};
|
||||||
float meercaPos[2] = {240,240};
|
float meercaPos[2] = {WINDOW_WIDTH/2,WINDOW_HEIGHT/2};
|
||||||
float scorePos[2] = {-50,-50};
|
float scorePos[2] = {-50,-50};
|
||||||
int scoreTransparency=255;
|
int scoreTransparency=255;
|
||||||
int scoreValue=1;
|
int scoreValue=1;
|
||||||
@ -58,15 +62,15 @@ public:
|
|||||||
|
|
||||||
void assignNeggRandomPos() {
|
void assignNeggRandomPos() {
|
||||||
do {
|
do {
|
||||||
neggPos[0]=(float)rand()/(float)RAND_MAX*(480-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
neggPos[0]=(float)rand()/(float)RAND_MAX*(WINDOW_WIDTH-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
||||||
neggPos[1]=(float)rand()/(float)RAND_MAX*(480-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
neggPos[1]=(float)rand()/(float)RAND_MAX*(WINDOW_HEIGHT-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
||||||
} while(!positionFree(neggPos));
|
} while(!positionFree(neggPos));
|
||||||
}
|
}
|
||||||
void spawnBadNegg() {
|
void spawnBadNegg() {
|
||||||
badNeggs=(float*)realloc(badNeggs,sizeof(float)*(++badNeggCount*2));
|
badNeggs=(float*)realloc(badNeggs,sizeof(float)*(++badNeggCount*2));
|
||||||
do {
|
do {
|
||||||
badNeggs[badNeggCount*2-2] = (float)rand()/(float)RAND_MAX*(480-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
badNeggs[badNeggCount*2-2] = (float)rand()/(float)RAND_MAX*(WINDOW_WIDTH-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
||||||
badNeggs[badNeggCount*2-1] = (float)rand()/(float)RAND_MAX*(480-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
badNeggs[badNeggCount*2-1] = (float)rand()/(float)RAND_MAX*(WINDOW_HEIGHT-NEGG_BOUNDARY*2)+NEGG_BOUNDARY;
|
||||||
} while(!positionFree(badNeggs+(badNeggCount*2-2),true));
|
} while(!positionFree(badNeggs+(badNeggCount*2-2),true));
|
||||||
}
|
}
|
||||||
boolean positionFree(float*pos) {
|
boolean positionFree(float*pos) {
|
||||||
@ -103,8 +107,8 @@ public:
|
|||||||
badNeggCount=0;
|
badNeggCount=0;
|
||||||
tailSize=0;
|
tailSize=0;
|
||||||
score=0;
|
score=0;
|
||||||
meercaPos[0]=240;
|
meercaPos[0]=WINDOW_WIDTH/2;
|
||||||
meercaPos[1]=240;
|
meercaPos[1]=WINDOW_HEIGHT/2;
|
||||||
meercaSpd[0]=0;
|
meercaSpd[0]=0;
|
||||||
meercaSpd[1]=0;
|
meercaSpd[1]=0;
|
||||||
}
|
}
|
||||||
@ -134,19 +138,19 @@ public:
|
|||||||
if (GetKey(olc::F1).bPressed) {
|
if (GetKey(olc::F1).bPressed) {
|
||||||
ConsoleShow(olc::F1,false);
|
ConsoleShow(olc::F1,false);
|
||||||
}
|
}
|
||||||
if (GetKey(olc::W).bPressed&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[0]!=0)) {
|
if ((GetKey(olc::W).bPressed||(GetMouse(0).bPressed&&(GetMouseY()-meercaPos[1]<0&&(meercaSpd[0]!=0||abs(GetMouseX()-meercaPos[0])<abs(GetMouseY()-meercaPos[1])))))&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[0]!=0)) {
|
||||||
meercaSpd[0]=0;
|
meercaSpd[0]=0;
|
||||||
meercaSpd[1]=-moveSpd;
|
meercaSpd[1]=-moveSpd;
|
||||||
}
|
} else
|
||||||
if (GetKey(olc::A).bPressed&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[1]!=0)) {
|
if ((GetKey(olc::A).bPressed||(GetMouse(0).bPressed&&(GetMouseX()-meercaPos[0]<0&&(meercaSpd[1]!=0||abs(GetMouseY()-meercaPos[1])<abs(GetMouseX()-meercaPos[0])))))&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[1]!=0)) {
|
||||||
meercaSpd[0]=-moveSpd;
|
meercaSpd[0]=-moveSpd;
|
||||||
meercaSpd[1]=0;
|
meercaSpd[1]=0;
|
||||||
}
|
} else
|
||||||
if (GetKey(olc::D).bPressed&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[1]!=0)) {
|
if ((GetKey(olc::D).bPressed||(GetMouse(0).bPressed&&(GetMouseX()-meercaPos[0]>0&&(meercaSpd[1]!=0||abs(GetMouseY()-meercaPos[1])<abs(GetMouseX()-meercaPos[0])))))&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[1]!=0)) {
|
||||||
meercaSpd[0]=moveSpd;
|
meercaSpd[0]=moveSpd;
|
||||||
meercaSpd[1]=0;
|
meercaSpd[1]=0;
|
||||||
}
|
} else
|
||||||
if (GetKey(olc::S).bPressed&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[0]!=0)) {
|
if ((GetKey(olc::S).bPressed||(GetMouse(0).bPressed&&(GetMouseY()-meercaPos[1]>0&&(meercaSpd[0]!=0||abs(GetMouseX()-meercaPos[0])<abs(GetMouseY()-meercaPos[1])))))&&(meercaSpd[0]+meercaSpd[1]==0||meercaSpd[0]!=0)) {
|
||||||
meercaSpd[0]=0;
|
meercaSpd[0]=0;
|
||||||
meercaSpd[1]=moveSpd;
|
meercaSpd[1]=moveSpd;
|
||||||
}
|
}
|
||||||
@ -198,9 +202,6 @@ public:
|
|||||||
DrawRotatedDecal({badNeggs[i*2],badNeggs[i*2+1]},badnegg,0,{16,16},{1,1});
|
DrawRotatedDecal({badNeggs[i*2],badNeggs[i*2+1]},badnegg,0,{16,16},{1,1});
|
||||||
}
|
}
|
||||||
DrawString({16,16},"Score: "+to_string(score),olc::VERY_DARK_BLUE);
|
DrawString({16,16},"Score: "+to_string(score),olc::VERY_DARK_BLUE);
|
||||||
if (IsMobile()) {
|
|
||||||
DrawString({16,32},"<Using Mobile Controls>",olc::WHITE,2);
|
|
||||||
}
|
|
||||||
for (int i=0;i<tailSize;i++) {
|
for (int i=0;i<tailSize;i++) {
|
||||||
if (i!=tailSize-1&&abs(meercaPos[0]-meercaPreviousPos[(i*8+6)])<8&&abs(meercaPos[1]-meercaPreviousPos[(i*8+7)])<8) {
|
if (i!=tailSize-1&&abs(meercaPos[0]-meercaPreviousPos[(i*8+6)])<8&&abs(meercaPos[1]-meercaPreviousPos[(i*8+7)])<8) {
|
||||||
init();
|
init();
|
||||||
@ -247,7 +248,7 @@ public:
|
|||||||
spawnBadNegg();
|
spawnBadNegg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (meercaPos[0]<-8||meercaPos[0]>488||meercaPos[1]<-8||meercaPos[1]>488) {
|
if (meercaPos[0]<WALL_BOUNDARY||meercaPos[0]>WINDOW_WIDTH-WALL_BOUNDARY||meercaPos[1]<WALL_BOUNDARY||meercaPos[1]>WINDOW_HEIGHT-WALL_BOUNDARY) {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
for (int i=0;i<badNeggCount;i++) {
|
for (int i=0;i<badNeggCount;i++) {
|
||||||
@ -264,7 +265,7 @@ public:
|
|||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
MeercaChase game;
|
MeercaChase game;
|
||||||
if (game.Construct(480, 480, 4, 4))
|
if (game.Construct(WINDOW_WIDTH, WINDOW_HEIGHT, 4, 4))
|
||||||
game.Start();
|
game.Start();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
File diff suppressed because one or more lines are too long
BIN
MeercaChase.wasm
BIN
MeercaChase.wasm
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user