generated from sigonasr2/CPlusPlusProjectTemplate
The good old Neggs are back.
https://sigonasr2.itch.io/meerca-chase-clone
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.0 KiB
91 lines
2.0 KiB
#define OLC_PGE_APPLICATION
|
|
#include "pixelGameEngine.h"
|
|
#include <math.h>
|
|
|
|
using namespace std;
|
|
|
|
class MeercaChase : public olc::PixelGameEngine
|
|
{
|
|
public:
|
|
olc::Decal*meerca;
|
|
olc::Decal*negg;
|
|
const float UPDATE_RATE = 0.016666667f;
|
|
float accumulatedTime = 0.0f;
|
|
int frameCount=0;
|
|
int moveSpd=4;
|
|
float meercaSpd[2] = {0,0};
|
|
float meercaPos[2] = {240,240};
|
|
MeercaChase()
|
|
{
|
|
sAppName = "Meerca Chase";
|
|
}
|
|
bool OnUserCreate() override
|
|
{
|
|
meerca = new olc::Decal(new olc::Sprite("assets/meerca.png"));
|
|
negg = new olc::Decal(new olc::Sprite("assets/negg.png"));
|
|
SetPixelMode(olc::Pixel::ALPHA);
|
|
ConsoleCaptureStdOut(true);
|
|
Clear(olc::DARK_GREY);
|
|
|
|
// Called once at the start, so create things here
|
|
return true;
|
|
}
|
|
|
|
bool OnUserUpdate(float fElapsedTime) override
|
|
{
|
|
accumulatedTime+=fElapsedTime;
|
|
while (accumulatedTime>=UPDATE_RATE) {
|
|
accumulatedTime-=UPDATE_RATE;
|
|
meercaPos[0]+=meercaSpd[0];
|
|
meercaPos[1]+=meercaSpd[1];
|
|
updateGame();
|
|
}
|
|
if (GetKey(olc::F1).bPressed) {
|
|
ConsoleShow(olc::F1,false);
|
|
}
|
|
if (GetKey(olc::W).bPressed) {
|
|
meercaSpd[0]=0;
|
|
meercaSpd[1]=-moveSpd;
|
|
}
|
|
if (GetKey(olc::A).bPressed) {
|
|
meercaSpd[0]=-moveSpd;
|
|
meercaSpd[1]=0;
|
|
}
|
|
if (GetKey(olc::D).bPressed) {
|
|
meercaSpd[0]=moveSpd;
|
|
meercaSpd[1]=0;
|
|
}
|
|
if (GetKey(olc::S).bPressed) {
|
|
meercaSpd[0]=0;
|
|
meercaSpd[1]=moveSpd;
|
|
}
|
|
// called once per frame
|
|
if (meercaSpd[0]==moveSpd) {
|
|
DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI_2,{16,16});
|
|
} else
|
|
if (meercaSpd[0]==-moveSpd) {
|
|
DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI_2*3,{16,16});
|
|
} else
|
|
if (meercaSpd[1]==moveSpd) {
|
|
DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI,{16,16});
|
|
} else {
|
|
DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,0,{16,16});
|
|
}
|
|
DrawDecal({32,64},negg,{1,1},olc::YELLOW);
|
|
return true;
|
|
}
|
|
|
|
void updateGame() {
|
|
|
|
}
|
|
};
|
|
|
|
|
|
int main()
|
|
{
|
|
MeercaChase game;
|
|
if (game.Construct(480, 480, 4, 4))
|
|
game.Start();
|
|
|
|
return 0;
|
|
} |