Вопрос задан 22.09.2023 в 22:08. Предмет Информатика. Спрашивает Маковецкий Влад.

python Напишите класс GTA, которая имитирует поведение игры GTA. Там есть много методов, но вы

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример класса GTA, который соответствует вашим требованиям:

python
import random class GTA: def __init__(self, character): self.__characters = ['Майкл', 'Тревор', 'Франклин'] if character in self.__characters: self.__character = character else: print("Нет такого персонажа") return self.__health = 100 self.__money = 100 self.__satiety = 100 self.__walk = 0 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 print("Ваш персонаж был избит, списано 10 долларов, здоровье восстановлено.") def earn_money(self): self.__money += 100 print("Вы заработали 100 долларов!") # Создаем экземпляр класса GTA gta_character = GTA('Майкл') # Вызываем методы print("Атрибуты персонажа:", gta_character.get_attributes()) gta_character.walk() gta_character.attack(15) gta_character.take_damage() gta_character.earn_money() print("Атрибуты персонажа после всех действий:", gta_character.get_attributes())

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос