Elements used in the Balls and Things games for the RETRO.

Dependents:   RETRO_BallsAndPaddle RETRO_BallAndHoles

Revision:
0:3d0db4e183ee
Child:
7:4fa3edaa1201
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Physics.cpp	Fri Feb 06 09:51:06 2015 +0000
@@ -0,0 +1,91 @@
+#include "Physics.h"
+
+Position::Position() : vPos(), pPrev(), pCur()
+{   // constructor
+
+}
+
+Point Position::getPrev()
+{
+    return(pPrev);
+}
+
+Point Position::getCur()
+{
+    return(pCur);
+}
+
+int Position::getX()
+{
+    return(pCur.getX());
+}
+int Position::getY()
+{
+    return(pCur.getY());
+}
+
+void Position::set(float x, float y)
+{
+    //nPrevX=nCurX;
+    //nPrevY=nCurY;
+    pPrev=pCur;
+    vPos.x=x;
+    vPos.y=y;
+    pCur.set(rint(vPos.x), rint(vPos.y));
+    //nCurX=rint(vPos.x);
+    //nCurY=rint(vPos.y);
+}
+
+void Position::set(int x, int y)
+{
+    set((float)x, (float)y);
+}
+
+void Position::set(Point ptNew)
+{
+    set(ptNew.getX(), ptNew.getY());
+}
+
+void Position::setX(int x)
+{
+    set((float)x, vPos.y);
+}
+
+void Position::setY(int y)
+{
+    set(vPos.x, (float)y);
+}
+
+void Position::move(float fDiffX, float fDiffY)
+{
+    //nPrevX=nCurX;
+    //nPrevY=nCurY;
+    pPrev=pCur;
+    vPos.x+=fDiffX;
+    vPos.y+=fDiffY;
+    pCur.set(rint(vPos.x), rint(vPos.y));
+    //nCurX=rint(vPos.x);
+    //nCurY=rint(vPos.y);
+}
+
+void Position::move(int nDiffX, int nDiffY)
+{
+    move((float)nDiffX, (float)nDiffY);
+}
+
+void Position::move(Vector vDiff)
+{
+    move(vDiff.x, vDiff.y);
+}
+
+bool Position::hasChanged()
+{
+    //return(nPrevX!=nCurX || nPrevy!=nCury);
+    return(pPrev.getX()!=pCur.getX() || pPrev.getY()!=pCur.getY());
+}
+
+Dimension::Dimension()
+{
+    nWidth=0;
+    nHeight=0;
+}
\ No newline at end of file