From ec522418e71591a1d9818edbce3c1c6a46f8c297 Mon Sep 17 00:00:00 2001 From: Alan Aguiar Date: Fri, 24 Feb 2012 17:50:04 +0000 Subject: add juego1.py --- 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 + + -- cgit v0.9.1