aboutsummaryrefslogtreecommitdiff
path: root/example/pong.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'example/pong.cpp')
-rw-r--r--example/pong.cpp136
1 files changed, 68 insertions, 68 deletions
diff --git a/example/pong.cpp b/example/pong.cpp
index df91b53..2716fa7 100644
--- a/example/pong.cpp
+++ b/example/pong.cpp
@@ -7,93 +7,93 @@
class ball : public cObject
{
public:
- ball() : v({1,1}) { setSize(1,1); drawPoint('O', {0,0}, _COL_RED); }
- ~ball() { destruct(); }
- virtual bool onCollisionActive(sPos _hit, int _passiveObject)
- {
- if(_passiveObject == 1)
- v.y = v.y * (-1);
- else if (_passiveObject == 2)
- v.x = v.x * (-1);
-
- drawText(std::to_string(_passiveObject), {0,0}, _COL_GREEN);
- return true;
- }
- sPos getV() { return v; }
+ ball() : v({1,1}) { setSize(1,1); drawPoint('O', {0,0}, ansi_color_fg(0,0,255) | ansi_color_bg(255,0,0)); }
+ ~ball() { destruct(); }
+ virtual bool onCollisionActive(sPos _hit, int _passiveObject)
+ {
+ if(_passiveObject == 1)
+ v.y = v.y * (-1);
+ else if (_passiveObject == 2)
+ v.x = v.x * (-1);
+
+ //drawText(std::to_string(_passiveObject), {0,0}, _COL_GREEN);
+ return true;
+ }
+ sPos getV() { return v; }
private:
- sPos v;
+ sPos v;
};
class bar : public cObject
{
public:
- bar() { setSize(1,5); drawLine('|', {0,0},{0,4}, _COL_BLUE);}
- ~bar() { destruct(); }
- virtual int onCollisionPassive(sPos _hit){ return 2; }
- virtual bool onCollisionActive(sPos _hit, int _passiveObject){ return true; }
+ bar() { setSize(1,5); drawLine('|', {0,0},{0,4}, _COL_BLUE);}
+ ~bar() { destruct(); }
+ virtual int onCollisionPassive(sPos _hit){ return 2; }
+ virtual bool onCollisionActive(sPos _hit, int _passiveObject){ return true; }
};
class edge : public cObject
{
public:
- edge(unsigned int x, unsigned int y) { setSize(x,y); drawLine('#', {0,0},{(int)x-1,(int)y-1}, _COL_DEFAULT);}
- ~edge() { destruct(); }
- virtual int onCollisionPassive(sPos _hit)
- {
- if(getSize().x > getSize().y)
- return 1;
- else
- return 2;
- }
+ edge(unsigned int x, unsigned int y) { setSize(x,y); drawLine('#', {0,0},{(int)x-1,(int)y-1}, _COL_DEFAULT);}
+ ~edge() { destruct(); }
+ virtual int onCollisionPassive(sPos _hit)
+ {
+ if(getSize().x > getSize().y)
+ return 1;
+ else
+ return 2;
+ }
};
int main()
{
- cRender render(' ', _COL_DEFAULT);
- cObjectHandler screen(&render);
- cInput input;
+ cRender render(' ', _COL_DEFAULT);
+ cObjectHandler screen(&render);
+ cInput input;
- render.render();
- render.setTargetFPS(20);
+ render.render();
+ render.setTargetFPS(20);
- sPos size = render.getSize();
+ sPos size = render.getSize();
- bar barLeft;
- bar barRight;
- ball aball;
- edge edgeLeft(1,size.y - 2);
- edge edgeRight(1,size.y - 2);
- edge edgeTop(size.x - 2,1);
- edge edgeBottom(size.x - 2,1);
+ bar barLeft;
+ bar barRight;
+ ball aball;
+ edge edgeLeft(1,size.y - 2);
+ edge edgeRight(1,size.y - 2);
+ edge edgeTop(size.x - 2,1);
+ edge edgeBottom(size.x - 2,1);
- int iEdgeTop = screen.createObject(&edgeTop);
- screen.moveObject(iEdgeTop, {0,0}, _MOVE_FORCE_ABSOLUTE);
+ int iEdgeTop = screen.createObject(&edgeTop);
+ screen.moveObject(iEdgeTop, {0,0}, _MOVE_FORCE_ABSOLUTE);
- int iEdgeBottom = screen.createObject(&edgeBottom);
- screen.moveObject(iEdgeBottom, {0,size.y - 3}, _MOVE_FORCE_ABSOLUTE);
+ int iEdgeBottom = screen.createObject(&edgeBottom);
+ screen.moveObject(iEdgeBottom, {0,size.y - 3}, _MOVE_FORCE_ABSOLUTE);
- int iEdgeLeft = screen.createObject(&edgeLeft);
- screen.moveObject(iEdgeLeft, {0,0}, _MOVE_FORCE_ABSOLUTE);
+ int iEdgeLeft = screen.createObject(&edgeLeft);
+ screen.moveObject(iEdgeLeft, {0,0}, _MOVE_FORCE_ABSOLUTE);
- int iEdgeRight = screen.createObject(&edgeRight);
- screen.moveObject(iEdgeRight, {size.x - 2,0}, _MOVE_FORCE_ABSOLUTE);
+ int iEdgeRight = screen.createObject(&edgeRight);
+ screen.moveObject(iEdgeRight, {size.x - 2,0}, _MOVE_FORCE_ABSOLUTE);
- int iAball= screen.createObject(&aball);
- screen.moveObject(iAball, {size.x/2,size.y/2}, _MOVE_FORCE_ABSOLUTE);
+ int iAball= screen.createObject(&aball);
+ screen.moveObject(iAball, {size.x/2,size.y/2}, _MOVE_FORCE_ABSOLUTE);
- unsigned int iBarLeft = screen.createObject(&barLeft);
- screen.moveObject(iBarLeft, {10,4}, _MOVE_FORCE_ABSOLUTE);
+ unsigned int iBarLeft = screen.createObject(&barLeft);
+ screen.moveObject(iBarLeft, {10,4}, _MOVE_FORCE_ABSOLUTE);
- unsigned int iBarRight = screen.createObject(&barRight);
- screen.moveObject(iBarRight, {size.x - 10,4}, _MOVE_FORCE_ABSOLUTE);
+ unsigned int iBarRight = screen.createObject(&barRight);
+ screen.moveObject(iBarRight, {size.x - 10,4}, _MOVE_FORCE_ABSOLUTE);
- unsigned int cc = 0;
+ unsigned int cc = 0;
- while(1)
- {
- sInputEvent ie = input.poll();
+ while(1)
+ {
+ sInputEvent ie = input.poll();
if(ie.type != _EVENT_NULL)
{
@@ -124,22 +124,22 @@ int main()
break;
case 's':
screen.moveObject(iBarLeft, {0,1}, _MOVE_RELATIVE);
- break;
- case 'g':
- render.enableDebugInfo(true);
+ break;
+ case 'g':
+ render.enableDebugInfo(true);
};
}
else if (ie.type == _EVENT_TERM)
{
return 0;
}
- }
- if(!(++cc % 3))
- screen.moveObject(iAball, aball.getV(), _MOVE_RELATIVE);
+ }
+ if(!(++cc % 3))
+ screen.moveObject(iAball, aball.getV(), _MOVE_RELATIVE);
- screen.write();
- render.render();
- }
+ screen.write();
+ render.render();
+ }
- return 0;
+ return 0;
}