Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 1
Регистрация: 11.04.2017
Сообщений: 27

Взаимодействие объектов 1-го класса

11.04.2017, 08:28. Показов 2686. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите!
Нужна программа следующей функции: есть объект Fighter там есть переменная хп и урон нужно что-бы я создавал 2 объекта и у меня была функция боя (объект 1 бьет объект 2 на то.во ХП = урону объекта 1 потом собьъект 2 и так пока у 1 из них не кончится здоровье)
(Если можно то готовый код и чутка пояснений, мне так понятней)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2017, 08:28
Ответы с готовыми решениями:

Взаимодействие объектов
При написании менеджера объектов для движка столкнулся с проблемой взаимодействия объектов между собой. Например есть классы Player и...

Передача объектов дочерних классов через массив объектов родительского класса в функцию
Здравствуйте. Возможно, вопрос больше относится к теории ООП, но все же я не решился задавать его в теме теории ООП, так как он кажется мне...

Взаимодействие двух объектов
Есть объект класса А. В нём есть массив объектов класса В. Программой предусмотрено поочерёдное обращение к элементам массива, с целью...

4
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
11.04.2017, 11:57
http://rextester.com/SQR36372
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <string>
 
//-std=c++14 -fopenmp -O2 -g3 -pedantic -Wall -Weffc++ -Wextra 
//-Woverloaded-virtual -Wctor-dtor-privacy -Wnon-virtual-dtor 
//-Wold-style-cast -Wconversion -Wsign-conversion -Winit-self 
//-Wunreachable-code
 
 
struct fighter
{
    fighter(const std::string& name, const size_t damage)
        :name(name), damage(damage)
    {}
    
    bool atack(fighter& enemy)const noexcept
    {
        const auto damaged 
            = enemy.hp > this->damage? 
            this->damage: 
            enemy.hp;
        
        enemy.hp -= damaged;
        
        std::cout<< this->name << " шмяк " << enemy.name << " -"<< damaged;
        
        if(enemy.hp == 0)
            return std::cout << ", и убил его нафиг\n", 
            true;
        
        std::cout 
            << " у " 
            << enemy.name 
            << " осталось " 
            << enemy.hp 
            << " жизней\n";
        return false;
        
    }
    
    std::string name;
    size_t hp = 100;
    size_t damage;
};
 
int main() 
{
    fighter troll("тролль", 25);
    fighter orge("орк", 15);
    fighter* cur1 = &troll;
    fighter* cur2 = &orge;
    
    while(!cur1->atack(*cur2))
        std::swap(cur1, cur2);
}
1
11.04.2017, 12:02

Не по теме:

Цитата Сообщение от hoggy Посмотреть сообщение
C++
1
2
3
4
std::cout<< this->name << " шмяк " << enemy.name << " -"<< damaged;
if(enemy.hp == 0)
    return std::cout << ", и убил его нафиг\n", 
    true;
божественные комментарии. :D

0
1 / 1 / 1
Регистрация: 11.04.2017
Сообщений: 27
11.04.2017, 12:36  [ТС]
ничего не понял 1) мне нужен класс а не структура 2) файтер должен бить такого же файтера(из того же класса) 3) c 10 по 45 строку вообще ничего не ясно( в особенности что такое size_t, и что вы делаете с 12 по 23 строку можно в деталях?)
зарание спасибо
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
11.04.2017, 16:24
Цитата Сообщение от artur1214 Посмотреть сообщение
1) мне нужен класс а не структура
Разница, в данном случае, только в том, что в структуре всё public. Напиши class и сделай всё public.
Цитата Сообщение от artur1214 Посмотреть сообщение
2) файтер должен бить такого же файтера(из того же класса)
А здесь разве из разных классов?
Цитата Сообщение от hoggy Посмотреть сообщение
C++
1
2
fighter troll("тролль", 25); 
fighter orge("орк", 15);
Цитата Сообщение от artur1214 Посмотреть сообщение
что такое size_t
unsigned int с платформозависимым размером.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2017, 16:24
Помогаю со студенческими работами здесь

Взаимодействие объектов разных классов
Я или туплю или чего-то не понимаю\не до понимаю. Вопрос в самом коде. class Player { int health; int damage; public: ...

Взаимодействие двух контейнеров объектов
Здравствуйте. Вопрос, наверное, уместнее задать на геймдеве, но всё же попробую здесь. Есть два контейнера объектов (монстры и пули),...

Перегрузка операции + с преобразованием объектов одного класса в объекты другого класса
Доброго времени суток! Изучаю ООП, при выполнении следующего задания возникли сложности: Создать класс Polar для хранения полярных...

Массив объектов одного класса как поле другого класса
Доброе время суток. Мне тут в универе задали лабу, нужно создать класс полем которого будет массив объектов класса из предыдущей лабы и в...

Построение описания класса, создание и уничтожение объектов этого класса
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru