Exemple #1
0
    def __init__(self, master):
        super().__init__(master)
        self.grid()

        self.buttonStart = Button(self,
                                  text="Start Game",
                                  command=self.startGame)
        self.buttonStart.grid(row=0, column=1)

        self.entName1 = Entry(self)
        self.entName1.grid(row=1, column=0)
        self.labelPrompt = Label(self, text="Enter player names")
        self.labelPrompt.grid(row=1, column=1)
        self.entName2 = Entry(self)
        self.entName2.grid(row=1, column=2)

        self.textStats1 = Text(self, width=20, height=20)
        self.textStats1.grid(row=2, column=0)

        self.labelStats = Label(self, text="Hero Stats")
        self.labelStats.grid(row=2, column=1)

        self.textStats2 = Text(self, width=20, height=20)
        self.textStats2.grid(row=2, column=2)

        self.buttonFight = Button(self, text="Fight!", command=self.fight)
        self.buttonFight.grid(row=3, column=1)

        # create a superhero object and store in frame. Cannot store in main with GUI
        self.p1 = Superhero()
        self.p2 = Superhero()
Exemple #2
0
    def __init__(self, window):
        super().__init__(window)
        self.config(background="#ffcc00")
        self.grid()

        self.startButton = Button(self,
                                  text="Start Game",
                                  bg="#990000",
                                  command=self.startGame)
        self.startButton.grid(row=0, column=1)

        self.p1StringVar = StringVar()
        self.p1StringVar.set("")
        self.p1Entry = Entry(self,
                             textvariable=self.p1StringVar,
                             state=DISABLED)
        self.p1Entry.grid(row=1, column=0)

        self.playerLabel = Label(self,
                                 text="Enter Player Names",
                                 state=DISABLED)
        self.playerLabel.grid(row=1, column=1)

        self.p2StringVar = StringVar()
        self.p2StringVar.set("")
        self.p2Entry = Entry(self,
                             textvariable=self.p2StringVar,
                             state=DISABLED)
        self.p2Entry.grid(row=1, column=2)

        self.hero1Text = Text(self, width=20, height=20, state=DISABLED)
        self.hero1Text.grid(row=2, column=0)

        self.heroLabel = Label(self, text="Hero Stats", state=DISABLED)
        self.heroLabel.grid(row=2, column=1)

        self.hero2Text = Text(self, width=20, height=20, state=DISABLED)
        self.hero2Text.grid(row=2, column=2)

        self.fightButton = Button(self,
                                  text="Fight!",
                                  state=DISABLED,
                                  command=self.fight)
        self.fightButton.grid(row=3, column=1)

        # Superhero objects
        self.p1 = Superhero()
        self.p2 = Superhero()
Exemple #3
0
        # that are overridden by the child, in this case, the __init__ method.
        # This calls the parent class constructor:
        super().__init__(name)

    # override the sing method
    def sing(self):
        return 'Dun, dun, DUN!'

    # add an additional instance method
    def boast(self):
        for power in self.superpowers:
            print("I wield the power of {pow}!".format(pow=power))


if __name__ == '__main__':
    sup = Superhero(name="Tick")

    # Instance type checks
    if isinstance(sup, Human):
        print('I am human')
    if type(sup) is Superhero:
        print('I am a superhero')

    # Get the Method Resolution search Order used by both getattr() and super()
    # This attribute is dynamic and can be updated
    print(Superhero.__mro__)  # => (<class '__main__.Superhero'>,
    # => <class 'human.Human'>, <class 'object'>)

    # Calls parent method but uses its own class attribute
    print(sup.get_species())  # => Superhuman
        # которые переопределяются дочерним, в данном случае, методом __init__.
        # Это вызывает конструктор родительского класса:
        super().__init__(name)

    # переопределить метод sing
    def sing(self):
        return 'Бам, бам, БАМ!'

    # добавить дополнительный метод экземпляра
    def boast(self):
        for power in self.superpowers:
            print("Я обладаю силой '{pow}'!".format(pow=power))


if __name__ == '__main__':
    sup = Superhero(name="Тик")

    # Проверка типа экземпляра
    if isinstance(sup, Human):
        print('Я человек')
    if type(sup) is Superhero:
        print('Я супергерой')

    # Получить порядок поиска разрешения метода (MRO),
    # используемый как getattr(), так и super()
    # Этот атрибут является динамическим и может быть обновлен
    print(Superhero.__mro__)    # => (<class '__main__.Superhero'>,
                                # => <class 'human.Human'>, <class 'object'>)

    # Вызывает родительский метод, но использует свой собственный атрибут класса
    print(sup.get_species())    # => Сверхчеловек