Exemple #1
0
class Game:

    def __init__(self):
        self.board = Board(rows=10, cols=10)

    def play(self):
        self.welcome()
        while self.board.game_state in [GameState.on_going, GameState.start]:
            self.board.print_board_wrapper(self.board.print_board_hook)
            try:
                raw = input("> ")
                line = "".join(raw.split())
                if line[0] == "f":
                    row, col = map(int, line[1:].split(","))
                    self.board.flag_square(row, col)
                else:
                    row, col = map(int, line.split(","))
                    self.board.click_square(row, col)
            except (IndexError, ValueError):
                self.help()
            except KeyboardInterrupt:
                try:
                    sys.exit(0)
                except SystemExit:
                    os._exit(0)
        if self.board.game_state == GameState.lose:
            print("\n\nYou hit a mine. :(\n")
        else:
            print("\n\nYou win!\n")            
        self.board.print_board_wrapper(self.board.print_board_end_hook)

    def welcome(self):
        print("\nWelcome to PySweep!")
        self.help()
    
    def help(self):
        print("\nEnter coordinates")
        print("> <row>,<column>")
        print("> 1,1")
        print("Flag and unflag coordinates")
        print("> f <row>,<column>")
        print("> f 1,1")
Exemple #2
0
 def test_board__init__(self):
     board = Board(3, 3)
     self.assertEqual(3, board.cols)
     self.assertEqual(3, board.rows)
     board.print_board_wrapper(board.print_board_hook)