Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / ЛР7 ООП

.docx
Скачиваний:
0
Добавлен:
21.02.2024
Размер:
22.69 Кб
Скачать

ЛР7

по варианту боты средней точности и любой другой точности.

import random

class Player(): #родительский класс

    def __init__(self, name):

        self.name = name

        print(f"Hello, {self.name}.")#имена

class Bot(Player):#дочерний класс

    def __init__(self,name, a, b):

        super().__init__(name)#методсупер наследует конструктор род.класса

        self.name = name

        self.a = a#разброс для точности

        self.b = b

   

   

    def shoot(self):

        x = 0

        #подсчет очков

        res = abs(x - random.uniform(self.a, self.b))

        if res > 1:

            return 0

        if res == 1:

            return 0.1

        res = 1.0 - res

        return res

def shooting_range(player1,player2):

    res1 = 0

    res2 = 0

    #стрельба

    for i in range(0,2):

        res1 += round(player1.shoot(),3)

        res2 += round(player2.shoot(),3)

        print(res1)

        print(res2)

    #выявление победителя

    if res1 > res2:

        print(f"Winner is {player1.name}")

    elif res1 == res2 :

        print(f"Winner is {player1.name} and {player2.name}")

    else:

        print(f"Winner is {player2.name}")

def main():

    bot1 = Bot("Bazik", -5, 5)#средней точности

    bot2 = Bot("Holdi", -9, 9)#любой точности

    shooting_range(bot1, bot2)#вызов функции стрельбы

if __name__ == "__main__":

    main()

Пример работы программы

Соседние файлы в папке Лабы