Advertisement
pipsqueaker117

physicsEngine.py

Nov 7th, 2012
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.74 KB | None | 0 0
  1. #physicsEngine.py
  2. '''
  3. Created on Nov 6, 2012
  4.  
  5. @author: pipsqueaker
  6. '''
  7. import redSquare
  8.  
  9. subCube = redSquare.redCubie
  10.  
  11. class rectangleDeity:
  12.     def __init__(self, boardWidth, boardHeight, gravityCoefficient, elastic, resistanceAir, gX, gY):
  13.         self.resistanceAir = resistanceAir
  14.         self.gravForce = gravityCoefficient #Try to keep this low
  15.         self.wideNum, self.tallNum = boardWidth, boardHeight
  16.         self.wallElastic = elastic
  17.         self.dy = 0
  18.         self.dx = 0
  19.         self.cubeMember = subCube(gX, gY)
  20.        
  21.     def gravityAct(self):
  22.        
  23.         self.ypos = self.cubeMember.y
  24.         self.downYBound = self.cubeMember.height + self.ypos
  25.        
  26.         if self.tallNum - 10 > self.downYBound: #mod the self tall num
  27.             self.dy += self.gravForce
  28.         else:
  29.             self.dy *= -self.wallElastic
  30.        
  31.         if self.ypos - 10 >= self.tallNum:
  32.             self.dy *= -1
  33.  
  34.     def pushX(self, forceApplied):
  35.         self.dx = forceApplied / self.cubeMember.mass
  36.        
  37.     def pushSpecialX(self, forceApplied):
  38.         self.dx = -forceApplied / self.cubeMember.mass
  39.        
  40.     def AirResistanceSlow(self, currentMomentumX, currentMomentumY):
  41.         if currentMomentumX >= 0:
  42.             if self.dx > 0:
  43.                 self.dx -= self.resistanceAir
  44.         elif currentMomentumX < 0:
  45.             if self.dx < 0:
  46.                 self.dx += self.resistanceAir
  47.                        
  48.         self.cubeMember._move(self.dx, self.dy)
  49.    
  50.     def jump(self, height):
  51.         self.dy += height
  52.         self.cubeMember._move(0, -self.dy)
  53.    
  54.     def returnMyRectangle(self):
  55.         return (self.cubeMember.x, self.cubeMember.y, self.cubeMember.width, self.cubeMember.height)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement