[gcompris: 18/111] reducing velocity
- From: Bruno Coudoin <bcoudoin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcompris: 18/111] reducing velocity
- Date: Wed, 3 Oct 2012 23:56:04 +0000 (UTC)
commit 8e671e6a469a22a0210906e838dc056e521da6c3
Author: serah <serah4291 gmail com>
Date: Fri Jun 1 16:23:09 2012 +0530
reducing velocity
src/intro_gravity-activity/intro_gravity.py | 67 +++++++++++++++++++--------
1 files changed, 47 insertions(+), 20 deletions(-)
---
diff --git a/src/intro_gravity-activity/intro_gravity.py b/src/intro_gravity-activity/intro_gravity.py
index 733a7ca..7e85b5b 100644
--- a/src/intro_gravity-activity/intro_gravity.py
+++ b/src/intro_gravity-activity/intro_gravity.py
@@ -159,8 +159,10 @@ class Gcompris_intro_gravity:
#declaring variables
self.timer_on = False
self.planet_left_mass = self.planet_right_mass = 1000
- self.velocity = 1
-
+ self.velocity = 0
+ self.old_force = None
+ self.count = 0
+
def end(self):
print "intro_gravity end"
# Remove the root item removes all the others inside it
@@ -208,25 +210,26 @@ class Gcompris_intro_gravity:
def increase_planet_right(self,a,b,c):
self.timer()
self.slider_right.move_bar(782,-8,1)
- self.move_planet()
+ self.planet_right_mass = self.planet_right.set_mass(1.1,-63,-20,500,1)
+ self.move_planet('right')
def increase_planet_left(self,a,b,c):
self.timer()
self.planet_left_mass = self.planet_left.set_mass(1.1,-8,-20,500,1)
self.slider_left.move_bar(21,-8,1)
- self.move_planet()
+ self.move_planet('left')
def decrease_planet_right(self,a,b,c):
self.timer()
self.planet_right_mass = self.planet_right.set_mass(0.9,78,25,-500,2)
self.slider_right.move_bar(782,8,2)
- self.move_planet()
+ self.move_planet('left')
def decrease_planet_left(self,a,b,c):
self.timer()
self.planet_left_mass = self.planet_left.set_mass(0.9,10,25,-500,2)
self.slider_left.move_bar(21,8,2)
- self.move_planet()
+ self.move_planet('right')
def timer(self):
if self.timer_on == False:
@@ -249,33 +252,57 @@ class Gcompris_intro_gravity:
gcompris.bonus.display(gcompris.bonus.LOOSE,gcompris.bonus.TUX)
self.board_paused = 1
- def move_planet(self):
+ def move_planet(self,force):
x = self.planet_mid.get_bounds().x1
position = x + self.velocity
- self.planet_mid.set_properties(x=position,y=198)
if position < 615 and position > 175:
- gobject.timeout_add(30,self.force)
+ self.planet_mid.set_properties(x=position,y=198)
+ self.new(force)
else:
self.crash()
+
+ def new(self,force):
+ new_force = force
+ if new_force == 'equal':
+ if self.old_force == 'left':
+ self.velocity = self.last_velocity
+ elif self.old_force == 'right':
+ self.velocity = self.last_velocity
+
+ self.old_force = new_force
+
+ elif self.old_force == new_force or new_force == 'equal':
+ self.true = 2
+ self.count += 1
+ if self.count == 100:
+ self.true = 1
+ self.count = 0
+
+ elif self.old_force != new_force:
+ self.old_force = new_force
+ self.true =1
+ self.last_velocity = self.velocity
+ self.velocity = 0
+
+ else:
+ self.true = 2
+ print self.true
+
+ gobject.timeout_add(30,self.force)
def force(self):
if self.planet_right_mass == self.planet_left_mass:
- print self.velocity
- self.move_planet()
+ self.move_planet('equal')
elif self.planet_right_mass > self.planet_left_mass:
- self.count +=1
- if self.count%self.level==0 or self.velocity ==0:
+ if self.true == 1:
self.velocity +=1
- print self.count
- self.move_planet()
+ self.move_planet('right')
else:
- self.count +=1
- if self.count%self.level==0 or self.velocity ==0:
- self.velocity -=1
- print self.count
- self.move_planet()
+ if self.true == 1:
+ self.velocity -=1
+ self.move_planet('left')
class fixed_planet:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]