コード例 #1
0
ファイル: JailCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #2
0
ファイル: JailCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #3
0
ファイル: JailCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #4
0
ファイル: BoardCtrl.py プロジェクト: MrKomish/pymono
    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()
コード例 #5
0
ファイル: JailCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #6
0
    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)
コード例 #7
0
ファイル: __init__.py プロジェクト: MrKomish/pymono
    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)
コード例 #8
0
ファイル: AwardCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #9
0
ファイル: FreeParkingCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #10
0
ファイル: TaxCell.py プロジェクト: MrKomish/pymono
    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)
コード例 #11
0
    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()
コード例 #12
0
    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)