def main(): # create the application window win = GraphWin("Dice Roller") win.setCoords(0, 0, 10, 10) win.setBackground("CadetBlue1") # draw the interface widgets die1 = DieView(win, Point(3, 7), 2) die2 = DieView(win, Point(7, 7), 2) rollButton = Button(win, Point(5, 4.5), 6, 1, "Roll Dice") rollButton.activate() quitButton = Button(win, Point(5, 1), 2, 1, "Quit") # event loop pt = win.getMouse() while not quitButton.clicked(pt): if rollButton.clicked(pt): value1 = randrange(1, 7) die1.setValue(value1) value2 = randrange(1, 7) die2.setValue(value2) quitButton.activate() pt = win.getMouse() # close up shop win.close()
def main(): #create app window win = GraphWin("Dice Roller") win.setCoords(0, 0, 10, 10) win.setBackground('green2') #draw interface widgets die1 = DieView(win, Point(3, 7), 2) die2 = DieView(win, Point(7, 7), 2) rollButton = Button(win, Point(5, 4.5), 6, 1, 'Roll Dice') rollButton.activate() quitButton = Button(win, Point(5, 1), 2, 1, 'Quit') #event loop pt = win.getMouse() while not quitButton.clicked(pt): if rollButton.clicked(pt): value1 = randrange(1, 7) die1.setValue(value1) value2 = randrange(1, 7) die2.setValue(value2) quitButton.activate() pt = win.getMouse() #close shope win.close()
def main(): #Create the application window win = GraphWin("Dice Roller") win.setCoords(0, 0, 10, 10) win.setBackground("green2") #draw the interface widgets die1 = DieView(win, Point(3, 7), 2) die2 = DieView(win, Point(7, 7), 2) rollButton = Button(win, Point(5, 4.5), 6, 1, "Roll Dice") rollButton.activate() quitButton = Button(win, Point(5, 1), 2, 1, "Quit") # Event Loop pt = win.getMouse() while not quitButton.clicked(pt): if rollButton.clicked(pt): value1 = randrange(1, 7) die1.setValue(value1) value2 = randrange(1, 7) die2.setValue(value2) quitButton.activate() pt = win.getMouse() # close up shop win.close()
def splashScreen(): firstWin = GraphWin("Dice Poker", 600, 400) firstWin.setBackground("blue") die = DieView(firstWin, Point(80,180), 100) die.setValue(4) die2 = DieView(firstWin, Point(520, 270), 100) die2.setValue(6) TitleMessage = Text(Point(210, 40), "Dice Poker:") TitleMessage.setSize(32) TitleMessage.draw(firstWin) IntroMessage = Text(Point(360, 40), "A dice game") IntroMessage.setSize(20) IntroMessage.draw(firstWin) HighScores = Text(Point(290, 100), "High Scores:") HighScores.setSize(20) HighScores.draw(firstWin) playButton = Button(firstWin, Point(520, 50), 120, 60, "Let's Play!") exitButton = Button(firstWin, Point(70, 350), 100, 60, "Exit") playButton.activate() exitButton.activate() # Display High Scores x = 290 y = 110 infile = open('HighScores', 'r') for line in infile: name, score = line.split() y += 25 msg = Text(Point(x, y), name + ": " + str(score)) msg.setSize(12) msg.draw(firstWin) # User chooses to play or exit p = firstWin.getMouse() if exitButton.clicked(p): firstWin.close() return False elif playButton.clicked(p): firstWin.close() return True
class GraphicInterface: def __init__(self): self.win = GraphWin("CeeLo", 700, 600) self.win.setCoords(0,0,7,6) self.drawPlayers() self.drawMoneyDisplays() self.drawDice() self.continueButton = Button(self.win, Point(1,1), 1, 0.3, "Play Round") self.rollButton = Button(self.win, Point(6,1), 0.5, 0.4, "Roll!") self.resultDisplay = Text(Point(2, 5.5), "").draw(self.win) self.resultDisplay.setSize(20) self.winnerDisplay = Text(Point(3.5, 0.2), "").draw(self.win) self.winnerDisplay.setSize(20) def drawPlayers(self): circSpecs = [(3.5, 5), (5, 4), (5,2), (3.5, 1), (2,2), (2,4)] self.playerLabels = [] self.playerCircles = [] for i, (x, y) in enumerate(circSpecs): self.playerCircles.append(Circle(Point(x, y), 0.5).draw(self.win)) self.playerLabels.append(Text(Point(x,y), "Player {0}".format(i+1)).draw(self.win)) def drawMoneyDisplays(self): displaySpecs = [(3.5, 5.7), (5, 4.7), (5, 2.7), (3.5, 1.7), (2,2.7), (2, 4.7)] self.moneyDisplays = [] for x, y in displaySpecs: Rectangle(Point(x-0.4, y - 0.12), Point(x + 0.4, y + 0.12)).draw(self.win) self.moneyDisplays.append(Text(Point(x,y), "").draw(self.win)) def drawDice(self): self.dieOne = DieView(self.win, Point(2.9, 3), 0.5) self.dieTwo = DieView(self.win, Point(3.5, 3.6), 0.5) self.dieThree = DieView(self.win, Point(4.1, 3), 0.5) def continuePlaying(self): self.continueButton.activate() while True: try: p = self.win.checkMouse() if self.continueButton.clicked(p): self.continueButton.deactivate() return True except AttributeError as error: pass def activePlayers(self, playerList): self.resultDisplay.setText("") self.winnerDisplay.setText("") for i, player in enumerate(playerList): if player.getMoney() >= 10: self.playerCircles[i].setFill("green") self.playerLabels[i].setStyle("bold") def currentPlayer(self, pIndex): self.playerCircles[pIndex].setFill("orange") def resetPlayerColor(self, pIndex): self.playerCircles[pIndex].setFill("green") def resetDoubleColor(self, pIndex): self.playerCircles[pIndex].setFill("pink") def displayMoney(self, pIndex, money): self.moneyDisplays[pIndex].setText("$ {0}".format(str(money))) def roll(self): self.rollButton.activate() while True: try: p = self.win.checkMouse() if self.rollButton.clicked(p): self.rollButton.deactivate() return True except AttributeError as error: pass def displayResult(self, pIndex, player): # this method has to display the DieView as well as the result/score # of the roll values = player.values() self.dieOne.setValue(values[0]) self.dieTwo.setValue(values[1]) self.dieThree.setValue(values[2]) result, score = player.playerScore() self.resultDisplay.setText("{0}".format(result)) def displayWinner(self, winner): self.winnerDisplay.setText("Player {0} wins!".format(str(winner + 1))) def doubleColor(self, indexList): for pIndex in indexList: self.playerCircles[pIndex].setFill("pink") def doubleDown(self): self.winnerDisplay.setText("Double Down!")
def setValue(self, value): self.value = value DieView.setValue(self, value)