Камень, ножницы, бумага

skazochnik

Новичок
Пользователь
Июн 12, 2022
1
0
1
При помощи ООП и классов создайте программу «Rock, Paper, Scissors» или же «Камень, ножницы, бумага». Ваша задача состоит в том чтобы создать: отдельный класс Player, перечисление Variants и два объекта на основе класса Player.

# Импорт файлов и классов из них
Код:
from variants import Variants
from player import Player

# Создаем объекты на основе класса Player
Код:
bot = Player()

# При создании можем не передавать значения или же
# можем передать выбор (камень, ножницы или бумага), а также имя
Код:
alex = Player(Variants.SCISSORS, "Alex")

# далее через объект можем обратить к функции whoWins
# и мы узнаем кто победил
Код:
print(bot.whoWins(bot, alex))

Крч, я на столько тупой, что не могу это сделать. хелпани братцы
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Наверное так

файл variants.py
Python:
class Variants:
    STONE = 1
    SCISSORS = 2
    PAPER = 3

файл player.py
Python:
from random import choice

class Player:
    def __init__(self, variant=None, name='bot'):
        self.variant = variant or choice((1, 2, 3))

    @staticmethod
    def whoWins(player1, player2):
        var_p1 = player1.variant
        var_p2 = player2.variant
        if var_p1 == var_p12:
            return 'Ничья'
        if  abs(var_p2 - var_p1) == 1:
            return player2.name if var_p2 - var_p1 > 0 else player1.name
        return player2.name if var_p2 - var_p1 < 0 else player1.name

файл main.py
Python:
from variants import Variants
from player import Player

bot = Player()
alex = Player(Variants.SCISSORS, "Alex")
print(bot.whoWins(bot, alex))
 

Форум IT Специалистов