Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-02-24 17:50:04 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-02-24 17:50:04 (GMT)
commitec522418e71591a1d9818edbce3c1c6a46f8c297 (patch)
tree9716ed0c3564e7627534cfb496dd2cf10eb2b9d4
parentca0dc0a8d3bbffc70d1bd38b18ec269e99558135 (diff)
add juego1.py
-rw-r--r--src/states/juego1.py103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/states/juego1.py b/src/states/juego1.py
new file mode 100644
index 0000000..20afbb9
--- /dev/null
+++ b/src/states/juego1.py
@@ -0,0 +1,103 @@
+
+import CSPrite
+
+#Piece class hereda de CSprite
+class Piece(CSprite):
+
+ STATE_STALE = 0
+ STATE_DRAG = 1
+ STATE_ADJUST = 2
+ STATE_RETURN = 3
+ STATE_OK = 4
+
+ mState = STATE_NONE
+
+ MIN_DISTANCE = 40
+
+ TIME_RETURN = 15
+ TIME_ADJUST = 7.5
+
+ RADIUS_COLLISION = 10
+
+
+ def init(self, aXOrigin, aYOrigin, aXDest, aYDest):
+ setState(STATE_STALE)
+
+ mXOrigin = aXOrigin
+ mYOrigin = aYOrigin
+ mXDest = aXDest
+ mYDest = aYdest
+
+ setMaxVel(10, 10)
+
+ #image = ....
+
+
+ def update(self):
+
+ if (aState == STATE_STALE):
+ if (mouse se cliquea encima del objeto):
+ self.setState(STATE_DRAG)
+ return
+
+ if (aState = STATE_DRAG):
+ x = mouse x
+ y = mouse y
+ if (se suelta el mouse):
+ if CMath.dist(x, y, mXDest, mYDest) < MIN_DISTANCE):
+ self.setState(STATE_ADJUST)
+ else:
+ self.setState(STATE_RETURN)
+
+
+ if (aState == STATE_ADJUST):
+ if (CMath.dist(x, y, mXDest, mYDest) < RADIUS_COLLISION):
+ self.setState(STATE_OK)
+
+ if (aState == STATE_RETURN):
+ if (CMath.dist(x, y, mXOrigin, mYOrigin) < RADIUS_COLLISION):
+ play(Sonido mal)
+ self.setState(STATE_STALE)
+ if (aState == STATE_OK):
+ return
+
+
+ def render(self):
+ pass
+
+
+ def destroy(self):
+ pass
+ #eliminar la imagen creada
+
+
+ def setState(aState):
+
+ if (aState == STATE_STALE):
+ x = mXOrigin
+ y = mYOrigin
+ velX = 0
+ velY = 0
+ if (aState = STATE_DRAG):
+ velX = 0
+ velY = 0
+ if (aState == STATE_ADJUST):
+ velX = (mXDest - x) / TIME_ADJUST
+ velY = (mXDest - y) / TIME_ADJUST
+ if (aState == STATE_RETURN):
+ velX = (mXOrigin - x) / TIME_RETURN
+ velY = (mXOrigin - y) / TIME_RETURN
+ if (aState == STATE_OK):
+ x = mXDest
+ y = mYDest
+ xVel = 0
+ yVel = 0
+ #play(Sonido OK)
+
+
+ mState = aState
+
+ def getState(self):
+ return mState
+
+