Ajout du mode débutant.
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 18 May 2010 14:41:37 +0000 (14:41 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 18 May 2010 14:41:37 +0000 (14:41 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@170 fe552daf-6dbe-4428-90eb-1537e0879342

src/app/globals.py
src/app/widgets/playingscreen.py

index 0dde5f3..2ce25eb 100755 (executable)
@@ -11,10 +11,11 @@ from math import floor
 BACKGROUND_LAYER = 0
 FOREGROUND_LAYER = 1
 CURSOR_LAYER = 2
-PLAYING_MODES = (('EASY'   , u'Facile'),
-                 ('NORMAL'  , u'Normal'),
-                 ('ADVANCED', u'Avancé'),
-                 ('EXPERT'  , u'Expert'))
+PLAYING_MODES = (('BEGINNER' , u'Débutant'),
+                 ('EASY'     , u'Facile'),
+                 ('NORMAL'   , u'Normal'),
+                 ('ADVANCED' , u'Avancé'),
+                 ('EXPERT'   , u'Expert'))
 
 
 
index 77a17a7..0735825 100755 (executable)
@@ -191,7 +191,11 @@ class SongPlayingScreen(PlayingScreenBase) :
     def _plugListeners(self, mode) :
         "initialisation des gestionnaires d'événements en fonction du mode"
 
-        if mode == PLAYING_MODES_DICT['EASY'] :
+        if mode == PLAYING_MODES_DICT['BEGINNER'] :
+            EventDispatcher.addEventListener(events.COLOVER, self.handleBeginnerColumnOver)
+
+        elif mode == PLAYING_MODES_DICT['EASY'] :
+            EventDispatcher.addEventListener(events.COLDOWN, self.handleEasyColumnDown)
             EventDispatcher.addEventListener(events.COLOVER, self.handleEasyColumnOver)
         
         elif mode == PLAYING_MODES_DICT['NORMAL'] :
@@ -209,7 +213,7 @@ class SongPlayingScreen(PlayingScreenBase) :
 
             
     # --- HID listeners ---
-    def handleEasyColumnOver(self, event) :
+    def handleBeginnerColumnOver(self, event) :
         col = event.column
         if col.state and not self.currentNotePlayed :
             self.playnote(col, event.pos)
@@ -218,6 +222,19 @@ class SongPlayingScreen(PlayingScreenBase) :
                             self.quarterNoteDuration)
                                             )
             self.currentNotePlayed = True
+
+    def handleEasyColumnOver(self, event) :
+        col = event.column
+        if col.state and \
+           any(event.mouseEvent.buttons) and \
+           not self.currentNotePlayed :
+            self.playnote(col, event.pos)
+            SongPlayingScreen.setNoteTimeout(
+                        int(self.currentNote.duration * \
+                            self.quarterNoteDuration)
+                                            )
+            self.currentNotePlayed = True
+
     
     def handleNormalColumnOver(self, event) :
         col = event.column
@@ -232,6 +249,18 @@ class SongPlayingScreen(PlayingScreenBase) :
         if col.state:
             self.playnote(col, event.pos)
             self.currentNotePlayed = True
+    
+    def handleEasyColumnDown(self, event) :
+        col = event.column
+        if col.state and \
+           not self.currentNotePlayed :
+            self.playnote(col, event.pos)
+            SongPlayingScreen.setNoteTimeout(
+                        int(self.currentNote.duration * \
+                            self.quarterNoteDuration)
+                                            )
+            self.currentNotePlayed = True
+
 
     def handleExpertColumnDown(self, event) :
         col = event.column