コード例 #1
0
ファイル: game.py プロジェクト: music960633/PyTetris
class Game:
  def __init__(self):
    self.screen = pygame.display.get_surface()
    self.clock = pygame.time.Clock()
    # default: standard
    self.field = Field(10, 20)
    self.initKeyHandler()

  def initKeyHandler(self):
    self.keyHandler = KeyHandler()
    self.keyHandler.addKey(K_LEFT , True, 120, 12)
    self.keyHandler.addKey(K_RIGHT, True, 120, 12)
    self.keyHandler.addKey(K_DOWN , True, 12 , 12)
    self.keyHandler.addKey(K_UP   , False)
    self.keyHandler.addKey(K_x    , False)
    self.keyHandler.addKey(K_z    , False)
    self.keyHandler.addKey(K_SPACE, False)
    self.keyHandler.addKey(K_c    , False)
    self.keyHandler.addKey(K_r    , False)
    self.keyHandler.addKey(K_q    , False)

  def routine(self):
    # for exit
    for event in pygame.event.get():
      if event.type == pygame.QUIT: sys.exit()
    # key presses
    time = self.clock.tick(120)
    quit, restart = False, False
    for key in self.keyHandler.getTrigger(time):
      if key == K_LEFT    : self.field.moveMino((-1, 0))
      elif key == K_RIGHT : self.field.moveMino((1, 0))
      elif key == K_DOWN  : self.field.moveMino((0, -1))
      elif key == K_UP    : self.field.turnMino(False)
      elif key == K_x     : self.field.turnMino(False)
      elif key == K_z     : self.field.turnMino(True)
      elif key == K_SPACE : self.field.dropMino()
      elif key == K_c     : self.field.holdMino()
      elif key == K_r     : restart = True
      elif key == K_q     : quit = True
    return quit, restart