def show_fail_popup(self): purchase_popup = PopupBuilder() \ .set_title("You Failed!") \ .set_message("Maybe in the next turn") \ .add_button("Ok", on_click=self.on_popup_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(self.board_ctrl)
def show_success_popup(self): purchase_popup = PopupBuilder() \ .set_title("You Done It!") \ .set_message("You got out of jail") \ .add_button("Yey!", on_click=self.on_popup_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(self.board_ctrl)
def show_popup(self): purchase_popup = PopupBuilder() \ .set_title("You Have A Chance To Leave The Jail!") \ .set_message("All you need to do is to get double") \ .add_button("Try", on_click=self.on_chance_popup_close_click) \ .set_size(500, 270) \ .build() purchase_popup.show(self.board_ctrl)
def turn_end(self): if len(self.players_ctrl.players) == 1: popup = PopupBuilder() \ .set_title(self.players_ctrl.players[0].get().color.title() + " Player Won!") \ .set_message("Congratulations! You have won this Monopoly game!") \ .add_button("Good Game!", on_click=lambda popup: exit()) \ .set_size(550, 220) \ .build() popup.show(self) else: self.turn()
def on_step(self, board_ctrl, on_end): def on_close_click(purchase_popup): purchase_popup.close() on_end() current_player_observer = board_ctrl.players_ctrl.current_player if random.randrange(1, 7) == random.randrange( 1, 7) == random.randrange(1, 7): purchase_popup = PopupBuilder() \ .set_title("LUCKY! You Won't go to The Prison!") \ .set_message("Because of a triple we thrown for you!") \ .add_button("Yey!", on_click=on_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(board_ctrl) else: current_player_observer.get().freeze_turns_left += 3 current_player_observer.get().is_in_jail = True current_player_observer.changed() purchase_popup = PopupBuilder() \ .set_title("You Are In The Jail!") \ .set_message("You will stay here for the next 3 turns!") \ .add_button("Ok", on_click=on_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(board_ctrl)
def player_lost(self, player, on_end): def on_close_click(popup): popup.close() on_end() popup = PopupBuilder() \ .set_title(player.get().color.title() + " Player Lost!") \ .set_message("You lost the game, Good luck in your next game!") \ .add_button("Thanks", on_click=on_close_click) \ .set_size(500, 220) \ .build() player.set(None) self.players.remove(player) popup.show(self.board_ctrl)
def show_welcome_popup(self): welcome_popup_builder = PopupBuilder() \ .set_title("Welcome To Monopoly!") \ .set_message("Select amount of players:") \ .set_size(500, 220) for i in range(2, 5): def on_click(welcome_popup, i=i): welcome_popup.close() self.on_players_count_selected(i) welcome_popup_builder.add_button(str(i), on_click) welcome_popup = welcome_popup_builder.build() welcome_popup.show(self.board_ctrl)
def on_step(self, board_ctrl, on_end): def on_close_click(purchase_popup): purchase_popup.close() on_end() player_observable = board_ctrl.players_ctrl.current_player player_observable.get().money += self.amount player_observable.changed() popup = PopupBuilder() \ .set_title("Congratulations!") \ .set_message("You just won $" + str(self.amount)) \ .add_button("Thanks", on_click=on_close_click) \ .set_size(500, 220) \ .build() popup.show(board_ctrl)
def on_step(self, board_ctrl, on_end): def on_close_click(purchase_popup): purchase_popup.close() on_end() current_player_observer = board_ctrl.players_ctrl.current_player current_player_observer.get().freeze_turns_left += 1 current_player_observer.changed() purchase_popup = PopupBuilder() \ .set_title("You Found Free Parking Spot") \ .set_message("You will stay here for the next turn!") \ .add_button("Ok", on_click=on_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(board_ctrl)
def on_step(self, board_ctrl, on_end): def on_close_click(purchase_popup): purchase_popup.close() on_end() player_observable = board_ctrl.players_ctrl.current_player payment_amount = player_observable.get().money * self.percents / 100 player_observable.get().money -= payment_amount player_observable.changed() popup = PopupBuilder() \ .set_title("Tax!") \ .set_message("You have to pay 10% of your money ($" + str(payment_amount) + ")") \ .add_button("Ok", on_click=on_close_click) \ .set_size(500, 220) \ .build() popup.show(board_ctrl)
def on_step(self, board_ctrl, on_end): current_player_observer = board_ctrl.players_ctrl.current_player def on_close_click(purchase_popup): purchase_popup.close() on_end() if self.owner.get() is None: def on_purchase_click(purchase_popup): self.purchase(current_player_observer) purchase_popup.close() on_end() purchase_popup = PopupBuilder() \ .set_title("Purchase offer") \ .set_message("Would you like to purchase " + self.name + "?") \ .add_button("Buy For $%d" % self.price, on_click=on_purchase_click) \ .add_button("Reject Offer", on_click=on_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(board_ctrl) elif self.owner.get() != current_player_observer.get(): payment_amount = self.payment_amount(board_ctrl.board.cells) self.pay(payment_amount, current_player_observer) popup = PopupBuilder() \ .set_title("It's " + current_player_observer.get().color.title() + " Player Train!") \ .set_message("You have to pay $%d" % payment_amount) \ .add_button("Ok", on_click=on_close_click) \ .set_size(500, 220) \ .build() popup.show(board_ctrl) else: on_end()
def on_step(self, board_ctrl, on_end): current_player_observer = board_ctrl.players_ctrl.current_player def on_close_click(purchase_popup): purchase_popup.close() on_end() if self.owner.get() is None: if self.prices.land_price > current_player_observer.get().money: on_end() def on_purchase_click(purchase_popup): self.purchase(current_player_observer) purchase_popup.close() on_end() purchase_popup = PopupBuilder() \ .set_title("Purchase offer") \ .set_message("Would you like to purchase " + self.name + "?") \ .add_button("Buy For $%d" % self.prices.land_price, on_click=on_purchase_click) \ .add_button("Reject Offer", on_click=on_close_click) \ .set_size(500, 220) \ .build() purchase_popup.show(board_ctrl) elif self.owner.get() != current_player_observer.get(): self.pay(current_player_observer) charge_popup = PopupBuilder() \ .set_title("It's " + current_player_observer.get().color.title() + " Player Street") \ .set_message("You just payed $" + str(self.current_income) + " to the " + self.owner.get().color.title() + " player") \ .add_button("OK", on_click=on_close_click) \ .set_size(500, 220) \ .build() charge_popup.show(board_ctrl) # 100% - current player is the owner elif all(not isinstance(cell, StreetCell) or cell.city != self.city or cell.owner.get() == self.owner.get() for cell in board_ctrl.board.cells) and self.current_income_index < 5: if self.next_price > current_player_observer.get().money: on_end() if self.current_income_index == 0: upgrade_type = "a House" elif self.current_income_index < 4: upgrade_type = "another House" else: upgrade_type = "a Hotel" def on_upgrade_click(upgrade_popup): self.upgrade() upgrade_popup.close() on_end() upgrade_popup = PopupBuilder() \ .set_title("Upgrade opportunity") \ .set_message("Would you like to build " + upgrade_type + " here for $%d?" % self.next_price) \ .add_button("Upgrade", on_click=on_upgrade_click) \ .add_button("Reject opportunity", on_click=on_close_click) \ .set_size(500, 220) \ .build() upgrade_popup.show(board_ctrl)