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

Dependents:   RETRO_BallsAndPaddle RETRO_BallAndHoles

Committer:
maxint
Date:
Fri Feb 06 09:51:06 2015 +0000
Revision:
0:3d0db4e183ee
Child:
7:4fa3edaa1201
Put Balls and Things objects into a library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maxint 0:3d0db4e183ee 1 #include "Physics.h"
maxint 0:3d0db4e183ee 2
maxint 0:3d0db4e183ee 3 Position::Position() : vPos(), pPrev(), pCur()
maxint 0:3d0db4e183ee 4 { // constructor
maxint 0:3d0db4e183ee 5
maxint 0:3d0db4e183ee 6 }
maxint 0:3d0db4e183ee 7
maxint 0:3d0db4e183ee 8 Point Position::getPrev()
maxint 0:3d0db4e183ee 9 {
maxint 0:3d0db4e183ee 10 return(pPrev);
maxint 0:3d0db4e183ee 11 }
maxint 0:3d0db4e183ee 12
maxint 0:3d0db4e183ee 13 Point Position::getCur()
maxint 0:3d0db4e183ee 14 {
maxint 0:3d0db4e183ee 15 return(pCur);
maxint 0:3d0db4e183ee 16 }
maxint 0:3d0db4e183ee 17
maxint 0:3d0db4e183ee 18 int Position::getX()
maxint 0:3d0db4e183ee 19 {
maxint 0:3d0db4e183ee 20 return(pCur.getX());
maxint 0:3d0db4e183ee 21 }
maxint 0:3d0db4e183ee 22 int Position::getY()
maxint 0:3d0db4e183ee 23 {
maxint 0:3d0db4e183ee 24 return(pCur.getY());
maxint 0:3d0db4e183ee 25 }
maxint 0:3d0db4e183ee 26
maxint 0:3d0db4e183ee 27 void Position::set(float x, float y)
maxint 0:3d0db4e183ee 28 {
maxint 0:3d0db4e183ee 29 //nPrevX=nCurX;
maxint 0:3d0db4e183ee 30 //nPrevY=nCurY;
maxint 0:3d0db4e183ee 31 pPrev=pCur;
maxint 0:3d0db4e183ee 32 vPos.x=x;
maxint 0:3d0db4e183ee 33 vPos.y=y;
maxint 0:3d0db4e183ee 34 pCur.set(rint(vPos.x), rint(vPos.y));
maxint 0:3d0db4e183ee 35 //nCurX=rint(vPos.x);
maxint 0:3d0db4e183ee 36 //nCurY=rint(vPos.y);
maxint 0:3d0db4e183ee 37 }
maxint 0:3d0db4e183ee 38
maxint 0:3d0db4e183ee 39 void Position::set(int x, int y)
maxint 0:3d0db4e183ee 40 {
maxint 0:3d0db4e183ee 41 set((float)x, (float)y);
maxint 0:3d0db4e183ee 42 }
maxint 0:3d0db4e183ee 43
maxint 0:3d0db4e183ee 44 void Position::set(Point ptNew)
maxint 0:3d0db4e183ee 45 {
maxint 0:3d0db4e183ee 46 set(ptNew.getX(), ptNew.getY());
maxint 0:3d0db4e183ee 47 }
maxint 0:3d0db4e183ee 48
maxint 0:3d0db4e183ee 49 void Position::setX(int x)
maxint 0:3d0db4e183ee 50 {
maxint 0:3d0db4e183ee 51 set((float)x, vPos.y);
maxint 0:3d0db4e183ee 52 }
maxint 0:3d0db4e183ee 53
maxint 0:3d0db4e183ee 54 void Position::setY(int y)
maxint 0:3d0db4e183ee 55 {
maxint 0:3d0db4e183ee 56 set(vPos.x, (float)y);
maxint 0:3d0db4e183ee 57 }
maxint 0:3d0db4e183ee 58
maxint 0:3d0db4e183ee 59 void Position::move(float fDiffX, float fDiffY)
maxint 0:3d0db4e183ee 60 {
maxint 0:3d0db4e183ee 61 //nPrevX=nCurX;
maxint 0:3d0db4e183ee 62 //nPrevY=nCurY;
maxint 0:3d0db4e183ee 63 pPrev=pCur;
maxint 0:3d0db4e183ee 64 vPos.x+=fDiffX;
maxint 0:3d0db4e183ee 65 vPos.y+=fDiffY;
maxint 0:3d0db4e183ee 66 pCur.set(rint(vPos.x), rint(vPos.y));
maxint 0:3d0db4e183ee 67 //nCurX=rint(vPos.x);
maxint 0:3d0db4e183ee 68 //nCurY=rint(vPos.y);
maxint 0:3d0db4e183ee 69 }
maxint 0:3d0db4e183ee 70
maxint 0:3d0db4e183ee 71 void Position::move(int nDiffX, int nDiffY)
maxint 0:3d0db4e183ee 72 {
maxint 0:3d0db4e183ee 73 move((float)nDiffX, (float)nDiffY);
maxint 0:3d0db4e183ee 74 }
maxint 0:3d0db4e183ee 75
maxint 0:3d0db4e183ee 76 void Position::move(Vector vDiff)
maxint 0:3d0db4e183ee 77 {
maxint 0:3d0db4e183ee 78 move(vDiff.x, vDiff.y);
maxint 0:3d0db4e183ee 79 }
maxint 0:3d0db4e183ee 80
maxint 0:3d0db4e183ee 81 bool Position::hasChanged()
maxint 0:3d0db4e183ee 82 {
maxint 0:3d0db4e183ee 83 //return(nPrevX!=nCurX || nPrevy!=nCury);
maxint 0:3d0db4e183ee 84 return(pPrev.getX()!=pCur.getX() || pPrev.getY()!=pCur.getY());
maxint 0:3d0db4e183ee 85 }
maxint 0:3d0db4e183ee 86
maxint 0:3d0db4e183ee 87 Dimension::Dimension()
maxint 0:3d0db4e183ee 88 {
maxint 0:3d0db4e183ee 89 nWidth=0;
maxint 0:3d0db4e183ee 90 nHeight=0;
maxint 0:3d0db4e183ee 91 }