parent
a7540c87d1
commit
882ccac3fb
Binary file not shown.
@ -0,0 +1,6 @@ |
|||||||
|
#include "Map.h" |
||||||
|
|
||||||
|
void Map::test(){ |
||||||
|
printf("Hello Map\n"); |
||||||
|
} |
||||||
|
|
@ -0,0 +1,10 @@ |
|||||||
|
#pragma once |
||||||
|
#include <stdio.h> |
||||||
|
|
||||||
|
class Player; |
||||||
|
|
||||||
|
class Map{ |
||||||
|
public: |
||||||
|
Player*p; |
||||||
|
void test(); |
||||||
|
}; |
@ -0,0 +1,6 @@ |
|||||||
|
#include "Player.h" |
||||||
|
|
||||||
|
void Player::test(){ |
||||||
|
printf("Hello Player\n"); |
||||||
|
} |
||||||
|
|
@ -0,0 +1,10 @@ |
|||||||
|
#pragma once |
||||||
|
#include <stdio.h> |
||||||
|
|
||||||
|
class Map; |
||||||
|
|
||||||
|
class Player{ |
||||||
|
public: |
||||||
|
Map*map; |
||||||
|
void test(); |
||||||
|
}; |
Binary file not shown.
@ -1,112 +1,14 @@ |
|||||||
#define OLC_PGE_APPLICATION |
#include "Map.h" |
||||||
#include "pixelGameEngine.h" |
#include "Player.h" |
||||||
|
|
||||||
class CustomControls : public olc::PixelGameEngine |
int main() { |
||||||
{ |
Map newMap; |
||||||
public: |
Player newPlayer; |
||||||
CustomControls() |
newMap.p = &newPlayer; |
||||||
{ |
newMap.test(); |
||||||
sAppName = "Configuring Custom Controls"; |
newPlayer.map = &newMap; |
||||||
} |
newPlayer.test(); |
||||||
|
|
||||||
private: |
newPlayer.map->test(); |
||||||
|
newMap.p->test(); |
||||||
olc::Key MOVE_UP=olc::W; |
|
||||||
olc::Key MOVE_DOWN=olc::S; |
|
||||||
olc::Key MOVE_RIGHT=olc::D; |
|
||||||
olc::Key MOVE_LEFT=olc::A; |
|
||||||
|
|
||||||
olc::vd2d pos = {0,0}; |
|
||||||
|
|
||||||
std::array<std::string,4> keysList = {"UP","RIGHT","DOWN","LEFT"}; |
|
||||||
int configuringKeyIndex = 0; |
|
||||||
|
|
||||||
public: |
|
||||||
|
|
||||||
bool OnUserCreate() override |
|
||||||
{ |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
bool OnUserUpdate(float fElapsedTime) override |
|
||||||
{ |
|
||||||
if (GetKey(olc::F1).bPressed) { |
|
||||||
TextEntryEnable(true); |
|
||||||
configuringKeyIndex=0; |
|
||||||
} |
|
||||||
|
|
||||||
if (TextEntryGetString().size()>0) { |
|
||||||
char c = TextEntryGetString()[0]; |
|
||||||
olc::Key customKey; |
|
||||||
if (c>='a'&&c<='z') { |
|
||||||
c-=32; //Capitalize the letter.
|
|
||||||
customKey=(olc::Key)(c-'A'+1); |
|
||||||
} else
|
|
||||||
if (c>='A'&&c<='Z') { |
|
||||||
customKey=(olc::Key)(c-'A'+1); |
|
||||||
} else |
|
||||||
if (c>='0'&&c<='9') { |
|
||||||
customKey=(olc::Key)(c-'0'+olc::Key::K0); |
|
||||||
} else |
|
||||||
{ |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
switch (configuringKeyIndex) { |
|
||||||
case 0:{ |
|
||||||
MOVE_UP=customKey; |
|
||||||
}break; |
|
||||||
case 1:{ |
|
||||||
MOVE_RIGHT=customKey; |
|
||||||
}break; |
|
||||||
case 2:{ |
|
||||||
MOVE_DOWN=customKey; |
|
||||||
}break; |
|
||||||
case 3:{ |
|
||||||
MOVE_LEFT=customKey; |
|
||||||
}break; |
|
||||||
} |
|
||||||
|
|
||||||
configuringKeyIndex++; |
|
||||||
if (configuringKeyIndex<keysList.size()) { |
|
||||||
TextEntryEnable(true); |
|
||||||
} else { |
|
||||||
TextEntryEnable(false); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if (GetKey(MOVE_UP).bHeld) { |
|
||||||
pos+={0,-5*fElapsedTime}; |
|
||||||
} |
|
||||||
if (GetKey(MOVE_DOWN).bHeld) { |
|
||||||
pos+={0,5*fElapsedTime}; |
|
||||||
} |
|
||||||
if (GetKey(MOVE_RIGHT).bHeld) { |
|
||||||
pos+={5*fElapsedTime,0}; |
|
||||||
} |
|
||||||
if (GetKey(MOVE_LEFT).bHeld) { |
|
||||||
pos+={-5*fElapsedTime,0}; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
Clear(olc::VERY_DARK_BLUE); |
|
||||||
|
|
||||||
DrawRect(pos,{32,32},olc::WHITE); |
|
||||||
|
|
||||||
if (IsTextEntryEnabled()) { |
|
||||||
DrawString({0,0},"Please press a key for "+keysList[configuringKeyIndex]); |
|
||||||
} |
|
||||||
|
|
||||||
return true; |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
|
|
||||||
int main() |
|
||||||
{ |
|
||||||
CustomControls game; |
|
||||||
if (game.Construct(256, 240, 4, 4)) |
|
||||||
game.Start(); |
|
||||||
|
|
||||||
return 0; |
|
||||||
} |
} |
Loading…
Reference in new issue