Example #1
0
class Go(object):
  
  def main(self, selection, args=None):
    self.graphics = Graphics()
    try:
      self.graphics.start()
      while True:
        if selection == 'quit':
          break
        if selection == 'play':
          selection, args = self.playGame(args)
        if selection == 'game over':
          selection, args = self.gameOver(args)
        if selection == 'menu':
          selection, args = self.menu()
    finally:
      self.graphics.cleanUp()

  def playGame(self, args):
    board = Board(args)
    
    blackTurn = True
    message = ''
    passed = False
    
    while True:    
      move = self.graphics.getTurn(board, blackTurn, message)
      if move == 'pass':
        if passed:
          return 'game over', board
        blackTurn = not blackTurn
        message = ''
        passed = True
      else:
        result = board.makeMove(move, blackTurn)
        if result == 'success':
          blackTurn = not blackTurn
          message = ''
          passed = False
        else:
          message = result

  def gameOver(self, args):
    return self.graphics.gameOver(args)

  def menu(self):
    return self.graphics.renderMenu()