[gcompris] play rhythm, code cleanup
- From: Bruno Coudoin <bcoudoin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcompris] play rhythm, code cleanup
- Date: Tue, 2 Oct 2012 19:06:09 +0000 (UTC)
commit d1d8b00ace45ee0a713c7b9589c407eb25cf1088
Author: Bruno Coudoin <bruno coudoin free fr>
Date: Tue Oct 2 00:29:04 2012 +0200
play rhythm, code cleanup
Now the list recordedHits is relative to the previous
hit. It avoids the needs to recalc it later.
src/play_rhythm-activity/play_rhythm.py | 49 +++++++++++-------------------
1 files changed, 18 insertions(+), 31 deletions(-)
---
diff --git a/src/play_rhythm-activity/play_rhythm.py b/src/play_rhythm-activity/play_rhythm.py
index 490d806..e6877ef 100644
--- a/src/play_rhythm-activity/play_rhythm.py
+++ b/src/play_rhythm-activity/play_rhythm.py
@@ -283,40 +283,27 @@ dialogue to\nenable the sound."), None)
def nearlyEqual(inputNum, correctNum, amountOfError):
return abs(inputNum - correctNum) <= amountOfError
- self.netOffsets = [0]
- for index, x in enumerate(self.recordedHits[1:]):
- self.netOffsets.append(x - self.recordedHits[index])
- correctedList = []
- if len(self.netOffsets) != len(self.givenOption):
+ if len(self.recordedHits) != len(self.givenOption):
self.doNotRemoveFromList = True
self.afterBonus = self.tryagain
gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
return
- for rhythmItem, recordedHit in zip(self.givenOption[:-1], self.netOffsets[1:]):
- if rhythmItem == 8:
- if not nearlyEqual(recordedHit, 0.25, 0.2):
- self.doNotRemoveFromList = True
- self.afterBonus = self.tryagain
- gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
- return
- if rhythmItem == 4:
- if not nearlyEqual(recordedHit, 0.5, 0.2):
- self.doNotRemoveFromList = True
- self.afterBonus = self.tryagain
- gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
- return
- if rhythmItem == 2:
- if not nearlyEqual(recordedHit, 1.0, 0.2):
- self.doNotRemoveFromList = True
- self.afterBonus = self.tryagain
- gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
- return
- if rhythmItem == 1:
- if not nearlyEqual(recordedHit, 2.0, 0.2):
- self.doNotRemoveFromList = True
- self.afterBonus = self.tryagain
- gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
- return
+
+ for rhythmItem, recordedHit in zip(self.givenOption[:-1], self.recordedHits[1:]):
+ lost = False
+ if rhythmItem == 8 and not nearlyEqual(recordedHit, 0.25, 0.2):
+ lost = True
+ elif rhythmItem == 4 and not nearlyEqual(recordedHit, 0.5, 0.2):
+ lost = True
+ elif rhythmItem == 2 and not nearlyEqual(recordedHit, 1.0, 0.2):
+ lost = True
+ elif rhythmItem == 1 and not nearlyEqual(recordedHit, 2.0, 0.2):
+ lost = True
+ if lost:
+ self.doNotRemoveFromList = True
+ self.afterBonus = self.tryagain
+ gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.NOTE)
+ return
self.afterBonus = self.nextChallenge
gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.NOTE)
@@ -454,8 +441,8 @@ dialogue to\nenable the sound."), None)
self.startTime = time.time()
self.recordedHits.append(0.0)
else:
- netTime = time.time() - self.startTime
self.recordedHits.append(time.time() - self.startTime)
+ self.startTime = time.time()
def end(self):
self.running = False
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]