• Предмет: Информатика
  • Автор: nurelnasirov8
  • Вопрос задан 4 месяца назад

python Напишите класс GTA, которая имитирует поведение игры GTA. Там есть много методов, но вы должны сделать основные методы как ходить, атаковать, получать урон и делать деньги. Так конструктор принимает персонажи из игры GTA V (Майкл, Тревор, Франклин), то есть если вы ввели другое имя, то вам он должен выводить "Нету такого персонажа". И также создайте приватные атрибуты класса (__health = 100, __money = 100, __satiety = 100, __walk = 0) Затем создайте метод для того чтоб он возвращал все атрибуты. Создайте метод walk для ходьбы и чтоб когда вызывали метод, в __walk добавлялось 1 единица значения. Потом создайте метод attack, которая принимает единицу урона. Если урон между 1 и 20, то он должен выводить "Ваш персонаж атаковал и сделал урон {ваш урон}". Иначе выводит "Вы не нанесли урон". Затм создайте метод для получения урона(случайное значение модуль random). И также если ваше здоровеье закончилась то он должен списать с вашего баланса 10 долларов и также пополнить ваш здоровье на 100 единиц. Сделайте последний метод для заработка денег. То есть когда мы вызываем метод то он должен добавлять 100 долларов в наш баланс. Теперь создайте экземпляр класса и вызовите все методы которые у нас присутствуют.


archery: и все єто за 5 баллов?

Ответы

Ответ дал: HaGLs
0

Ответ:

import random

class GTA:

   def __init__(self, character):

       self.__valid_characters = ["Майкл", "Тревор", "Франклин"]

       if character in self.__valid_characters:

           self.__character = character

           self.__health = 100

           self.__money = 100

           self.__satiety = 100

           self.__walk = 0

       else:

           print("Нету такого персонажа")

   def get_attributes(self):

       return {

           "health": self.__health,

           "money": self.__money,

           "satiety": self.__satiety,

           "walk": self.__walk

       }

   def walk(self):

       self.__walk += 1

   def attack(self, damage):

       if 1 <= damage <= 20:

           print(f"Ваш персонаж атаковал и сделал урон {damage}")

       else:

           print("Вы не нанесли урон")

   def take_damage(self):

       damage = random.randint(1, 30)

       self.__health -= damage

       if self.__health <= 0:

           self.__money -= 10

           self.__health += 100

   def earn_money(self):

       self.__money += 100

# Создание экземпляра класса и вызов методов

gta_character = GTA("Майкл")

print(gta_character.get_attributes())

gta_character.walk()

print(gta_character.get_attributes())

gta_character.attack(15)

gta_character.take_damage()

print(gta_character.get_attributes())

gta_character.earn_money()

print(gta_character.get_attributes())

Конечно, вот реализация класса GTA с описанными вами методами:

python

import random

class GTA:

   def __init__(self, character):

       self.__valid_characters = ["Майкл", "Тревор", "Франклин"]

       if character in self.__valid_characters:

           self.__character = character

           self.__health = 100

           self.__money = 100

           self.__satiety = 100

           self.__walk = 0

       else:

           print("Нету такого персонажа")

   def get_attributes(self):

       return {

           "health": self.__health,

           "money": self.__money,

           "satiety": self.__satiety,

           "walk": self.__walk

       }

   def walk(self):

       self.__walk += 1

   def attack(self, damage):

       if 1 <= damage <= 20:

           print(f"Ваш персонаж атаковал и сделал урон {damage}")

       else:

           print("Вы не нанесли урон")

   def take_damage(self):

       damage = random.randint(1, 30)

       self.__health -= damage

       if self.__health <= 0:

           self.__money -= 10

           self.__health += 100

   def earn_money(self):

       self.__money += 100

# Создание экземпляра класса и вызов методов

gta_character = GTA("Майкл")

print(gta_character.get_attributes())

gta_character.walk()

print(gta_character.get_attributes())

gta_character.attack(15)

gta_character.take_damage()

print(gta_character.get_attributes())

gta_character.earn_money()

print(gta_character.get_attributes())

Обратите внимание, что я добавил обработку случая, когда здоровье упадет до 0 и нужно списать деньги и восстановить здоровье. Вы можете создать экземпляр класса для разных персонажей и вызвать соответствующие методы для каждого из них.

Вас заинтересует