← Back to team overview

snakes-game team mailing list archive

[Merge] lp:~bushbaby2511/snakes-game/snakes-locked into lp:snakes-game

 

Tom Bell has proposed merging lp:~bushbaby2511/snakes-game/snakes-locked into lp:snakes-game.

Requested reviews:
  Snakes Developers (snakes-game)
Related bugs:
  #645963 Holding down direction key locks snake
  https://bugs.launchpad.net/bugs/645963


Fixed bug #645963 by flushing input buffer.
-- 
https://code.launchpad.net/~bushbaby2511/snakes-game/snakes-locked/+merge/36632
Your team Snakes Developers is requested to review the proposed merge of lp:~bushbaby2511/snakes-game/snakes-locked into lp:snakes-game.
=== modified file 'snakes'
--- snakes	2010-09-09 20:58:32 +0000
+++ snakes	2010-09-25 12:25:58 +0000
@@ -139,6 +139,7 @@
         curses.init_pair(2, curses.COLOR_YELLOW, curses.COLOR_BLACK)
         chars_colors.append(('*' ,curses.color_pair(2)))
     screen.nodelay(1)
+    oldchar = -1
     (screen_height, screen_width) = screen.getmaxyx()
     position = screen_height/2, screen_width/2
     snake = Snake(screen, position, LEFT)
@@ -152,11 +153,16 @@
         char = screen.getch()
         if char == 113: break  # q
         elif game == True:
-            if char == curses.KEY_RIGHT: snake.update(RIGHT)
-            elif char == curses.KEY_LEFT: snake.update(LEFT)
-            elif char == curses.KEY_UP: snake.update(UP)
-            elif char == curses.KEY_DOWN: snake.update(DOWN)
-            else: snake.update()
+            if char != oldchar:
+                if char == curses.KEY_RIGHT: snake.update(RIGHT)
+                elif char == curses.KEY_LEFT: snake.update(LEFT)
+                elif char == curses.KEY_UP: snake.update(UP)
+                elif char == curses.KEY_DOWN: snake.update(DOWN) 
+                else: snake.update()
+            else:
+                snake.update()
+                curses.flushinp()
+            oldchar = char
         for food in foods:
             if food.pos == snake.pos:
                 snake.grow()


Follow ups