Esempio n. 1
0
 def __init__(self):
    """Creates the war game, and sets up the Images and labels
    for the two cards to be displayed, the state label,
    and the command button."""
    EasyFrame.__init__(self, title = "Let's play War!")
    self.setSize(300, 300)
    self.game = WarGame()
    self.game.deal()
    self.playerLabel1 = self.addLabel(row = 0, column = 0,
                                       text = "Player 1")
    self.playerLabel2 = self.addLabel(row = 0, column = 1,
                                       text = "Player 2")
    self.image1 = PhotoImage(file = Card.BACK_NAME)
    self.image2 = PhotoImage(file = Card.BACK_NAME)
    self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
    self.cardImageLabel1["image"] = self.image1
    self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
    self.cardImageLabel2["image"] = self.image2
    self.stateLabel = self.addLabel("", row = 2, column = 0,
                                    columnspan = 2)
    self.nextCardButton = self.addButton(row = 3, column = 0,
                                 text = "Next card",
                                 command = self.nextCard)
    self.newGameButton = self.addButton(row = 3, column = 1,
                                 text = "New Game",
                                 command = self.newGame,
                                  state = 'disabled')
Esempio n. 2
0
 def newGame(self):
    """Starts a new game when the button "New Game" is clicked after
    the end of the previous game."""
    self.game = WarGame()
    self.game.deal()
    self.image1 = PhotoImage(file = Card.BACK_NAME)
    self.image2 = PhotoImage(file = Card.BACK_NAME)
    self.cardImageLabel1["image"] = self.image1
    self.cardImageLabel2["image"] = self.image2
    self.stateLabel["text"] = str(self.game)
    self.nextCardButton["state"] = 'normal'
    self.newGameButton["state"] = 'disabled'
Esempio n. 3
0
def main():
    """Terminal-based trace of a game of War."""
    game = WarGame()
    game.deal()
    while not game.winner():
        game.step()
        print(game)
    print(game.winner())
Esempio n. 4
0
 def __init__(self):
    """Creates the war game, and sets up the Images and labels
    for the two cards to be displayed, the state label,
    and the command button."""
    EasyFrame.__init__(self, title = "Let's play War!")
    self.setSize(350, 350)
    self.game = WarGame()
    self.game.deal()
    self.playerLabel1 = self.addLabel(row = 0, column = 0,
                                       text = "Player 1")
    self.playerLabel2 = self.addLabel(row = 0, column = 1,
                                       text = "Player 2")
    self.image1 = PhotoImage(file = Card.BACK_NAME)
    self.image2 = PhotoImage(file = Card.BACK_NAME)
    self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
    self.cardImageLabel1["image"] = self.image1
    self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
    self.cardImageLabel2["image"] = self.image2
    self.stateLabel = self.addLabel("", row = 2, column = 0,
                                    columnspan = 2)
    self.nextCardButton = self.addButton(row = 3, column = 0,
                                 text = "Next card",
                                  command = self.nextCard)
    self.newGameButton = self.addButton(row = 4, column = 0,
                                        text = "New Game",
                                        state = "disabled",
                                        command = self.newGame)
Esempio n. 5
0
def main():
   """Terminal-based trace of a game of War."""
   game = WarGame()
   game.deal()
   while not game.winner():
      game.step()
      print(game)
   print(game.winner())
Esempio n. 6
0
class WarGUI(EasyFrame):

   def __init__(self):
      """Creates the war game, and sets up the Images and labels
      for the two cards to be displayed, the state label,
      and the command button."""
      EasyFrame.__init__(self, title = "Let's play War!")
      self.setSize(300, 300)
      self.game = WarGame()
      self.game.deal()
      self.playerLabel1 = self.addLabel(row = 0, column = 0,
                                         text = "Player 1")
      self.playerLabel2 = self.addLabel(row = 0, column = 1,
                                         text = "Player 2")
      self.image1 = PhotoImage(file = Card.BACK_NAME)
      self.image2 = PhotoImage(file = Card.BACK_NAME)
      self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
      self.cardImageLabel1["image"] = self.image1
      self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel = self.addLabel("", row = 2, column = 0,
                                      columnspan = 2)
      self.nextCardButton = self.addButton(row = 3, column = 0,
                                   text = "Next card",
                                   command = self.nextCard)
      self.newGameButton = self.addButton(row = 3, column = 1,
                                   text = "New Game",
                                   command = self.newGame,
                                    state = 'disabled')

   def nextCard(self):
      """Makes a move in the game and updates the view with
      the results."""
      (card1, card2) = self.game.step()
      self.image1 = PhotoImage(file = card1.fileName)
      self.cardImageLabel1["image"] = self.image1
      self.image2 = PhotoImage(file = card2.fileName)
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel["text"] = str(self.game)
      if self.game.winner():
         self.messageBox("Game Is Over!", self.game.winner())
         self.nextCardButton["state"] = 'disabled'
         self.newGameButton["state"] = 'normal'

   def newGame(self):
      """Starts a new game when the button "New Game" is clicked after
      the end of the previous game."""
      self.game = WarGame()
      self.game.deal()
      self.image1 = PhotoImage(file = Card.BACK_NAME)
      self.image2 = PhotoImage(file = Card.BACK_NAME)
      self.cardImageLabel1["image"] = self.image1
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel["text"] = str(self.game)
      self.nextCardButton["state"] = 'normal'
      self.newGameButton["state"] = 'disabled'
Esempio n. 7
0
 def newGame(self):
     """Starts a new game of War."""
     self.game = WarGame()
     self.game.deal()
     self.image1 = PhotoImage(file=Card.BACK_NAME)
     self.image2 = PhotoImage(file=Card.BACK_NAME)
     self.cardImageLabel1 = self.addLabel("", row=1, column=0)
     self.cardImageLabel1["image"] = self.image1
     self.cardImageLabel2 = self.addLabel("", row=1, column=1)
     self.cardImageLabel2["image"] = self.image2
     self.stateLabel["text"] = str()
     self.newGameButton = self.addButton(row=4,
                                         column=0,
                                         text="New Game",
                                         state="disabled",
                                         command=self.newGame)
     self.nextCardButton = self.addButton(row=3,
                                          column=0,
                                          text="Next card",
                                          state="normal",
                                          command=self.nextCard)
Esempio n. 8
0
 def newGame(self):
    """Starts a new game of War."""
    self.game = WarGame()
    self.game.deal()
    self.image1 = PhotoImage(file = Card.BACK_NAME)
    self.image2 = PhotoImage(file = Card.BACK_NAME)
    self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
    self.cardImageLabel1["image"] = self.image1
    self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
    self.cardImageLabel2["image"] = self.image2
    self.stateLabel["text"] = str()
    self.newGameButton = self.addButton(row = 4, column = 0,
                                        text = "New Game",
                                        state = "disabled",
                                        command = self.newGame)
    self.nextCardButton = self.addButton(row = 3, column = 0,
                                 text = "Next card",
                                  state = "normal",
                                  command = self.nextCard)
Esempio n. 9
0
class WarGUI(EasyFrame):

   def __init__(self):
      """Creates the war game, and sets up the Images and labels
      for the two cards to be displayed, the state label,
      and the command button."""
      EasyFrame.__init__(self, title = "Let's play War!")
      self.setSize(350, 350)
      self.game = WarGame()
      self.game.deal()
      self.playerLabel1 = self.addLabel(row = 0, column = 0,
                                         text = "Player 1")
      self.playerLabel2 = self.addLabel(row = 0, column = 1,
                                         text = "Player 2")
      self.image1 = PhotoImage(file = Card.BACK_NAME)
      self.image2 = PhotoImage(file = Card.BACK_NAME)
      self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
      self.cardImageLabel1["image"] = self.image1
      self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel = self.addLabel("", row = 2, column = 0,
                                      columnspan = 2)
      self.nextCardButton = self.addButton(row = 3, column = 0,
                                   text = "Next card",
                                    command = self.nextCard)
      self.newGameButton = self.addButton(row = 4, column = 0,
                                          text = "New Game",
                                          state = "disabled",
                                          command = self.newGame)

   def nextCard(self):
      """Makes a move in the game and updates the view with
      the results."""
      (card1, card2) = self.game.step()
      self.image1 = PhotoImage(file = card1.fileName)
      self.cardImageLabel1["image"] = self.image1
      self.image2 = PhotoImage(file = card2.fileName)
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel["text"] = str(self.game)
      if self.game.winner():
         self.messageBox("Game Is Over!", self.game.winner())
         self.nextCardButton = self.addButton(row = 3, column = 0,
                                   text = "Next card",
                                    state = "disabled",
                                    command = self.nextCard)
         self.newGameButton = self.addButton(row = 4, column = 0,
                                          text = "New Game",
                                          state = "normal",
                                          command = self.newGame)
         

   def newGame(self):
      """Starts a new game of War."""
      self.game = WarGame()
      self.game.deal()
      self.image1 = PhotoImage(file = Card.BACK_NAME)
      self.image2 = PhotoImage(file = Card.BACK_NAME)
      self.cardImageLabel1 = self.addLabel("", row = 1, column = 0)
      self.cardImageLabel1["image"] = self.image1
      self.cardImageLabel2 = self.addLabel("", row = 1, column = 1)
      self.cardImageLabel2["image"] = self.image2
      self.stateLabel["text"] = str()
      self.newGameButton = self.addButton(row = 4, column = 0,
                                          text = "New Game",
                                          state = "disabled",
                                          command = self.newGame)
      self.nextCardButton = self.addButton(row = 3, column = 0,
                                   text = "Next card",
                                    state = "normal",
                                    command = self.nextCard)
Esempio n. 10
0
 def newGame(self):
    self.game = WarGame()
    self.game.deal()
    self.newGameButton['state'] = "disabled"
    self.nextCardButton['state'] = "normal"