Elements used in the Balls and Things games for the RETRO.
Dependents: RETRO_BallsAndPaddle RETRO_BallAndHoles
Physics.cpp@0:3d0db4e183ee, 2015-02-06 (annotated)
- 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?
User | Revision | Line number | New 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 | } |