Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #physicsEngine.py
- '''
- Created on Nov 6, 2012
- @author: pipsqueaker
- '''
- import redSquare
- subCube = redSquare.redCubie
- class rectangleDeity:
- def __init__(self, boardWidth, boardHeight, gravityCoefficient, elastic, resistanceAir, gX, gY):
- self.resistanceAir = resistanceAir
- self.gravForce = gravityCoefficient #Try to keep this low
- self.wideNum, self.tallNum = boardWidth, boardHeight
- self.wallElastic = elastic
- self.dy = 0
- self.dx = 0
- self.cubeMember = subCube(gX, gY)
- def gravityAct(self):
- self.ypos = self.cubeMember.y
- self.downYBound = self.cubeMember.height + self.ypos
- if self.tallNum - 10 > self.downYBound: #mod the self tall num
- self.dy += self.gravForce
- else:
- self.dy *= -self.wallElastic
- if self.ypos - 10 >= self.tallNum:
- self.dy *= -1
- def pushX(self, forceApplied):
- self.dx = forceApplied / self.cubeMember.mass
- def pushSpecialX(self, forceApplied):
- self.dx = -forceApplied / self.cubeMember.mass
- def AirResistanceSlow(self, currentMomentumX, currentMomentumY):
- if currentMomentumX >= 0:
- if self.dx > 0:
- self.dx -= self.resistanceAir
- elif currentMomentumX < 0:
- if self.dx < 0:
- self.dx += self.resistanceAir
- self.cubeMember._move(self.dx, self.dy)
- def jump(self, height):
- self.dy += height
- self.cubeMember._move(0, -self.dy)
- def returnMyRectangle(self):
- return (self.cubeMember.x, self.cubeMember.y, self.cubeMember.width, self.cubeMember.height)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement