12 / 5 / 5
Регистрация: 01.02.2016
Сообщений: 27
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Странное значение переменной bool24.05.2018, 13:44. Показов 881. Ответов 2
Метки нет (Все метки)
Здравствуйте.
Разминаю мозг - пишу простенькую игрушку. По задумке, солдаты перемещаются по клеткам поля и могут атаковать солдат противоположной стороны, если оказались на соседних клетках. Решил объединить солдат в отряды, и поломать голову над поддержанием формации и поиском пути для отряда. Для возможности обращаться к солдату и через отряд, в котором он состоит, и через ячейку, где он находится, использовал указатели. При тестировании правильности работы такой связки всплыла неожиданная проблема: 1) Из файла считываются координаты 5 солдат(деления на стороны пока нет) на их основе генерируются объекты в стеке(можно было и массив использовать, но делал с прицелом на будущее неопределённое количество солдат). состав объекта - координаты и переменная bool которая у солдат равна 1 2) Поле заполняется указателями на объект EmptySpace(один класс с солдатами, но bool равна 0). 3) Пробегая стек у каждого солдата берутся координаты. Указатель в поле с этими координатами меняется на указатель на соответствующий элемент стека. 4) Проверка заключается в выводе переменной bool объекта, на который ссылаются указатели в каждой из клеток поля. Я ожидал самых разных проблем. Но к тому, что в одной из клеток результат будет 232, я был совершенно не готов. Может кто-нибудь объяснить, как это у меня получилось, и, где я ошибся? Код:
Нашёл ответ сам.
0
|
24.05.2018, 13:44 | |
Ответы с готовыми решениями:
2
Присвоение переменной типа std::string значение bool Как вывести значение переменной bool в виде литералов false и true? Изменить значение bool a = true в bool a = false как правильно понять тип bool ? bool true(const string &str) и что дает это значение ? |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
24.05.2018, 15:41 | 2 |
Какие старые указатели? Избавься вообще от них, используй везде vector.
0
|
12 / 5 / 5
Регистрация: 01.02.2016
Сообщений: 27
|
|
25.05.2018, 07:11 [ТС] | 3 |
Я, вроде, ясно написал, что указатели нужны чтобы обращаться к юниту и через отряд, в котором он состоит, и через локацию, где он находится.
Тут четыре варианта: 1) хранить юнит в составе объекта отряда и при обращении через локацию запускать поиск ПО ВСЕМ ОТРЯДАМ юнита, координаты которого совпадут с координатами локации. 2) хранить юнит в составе объекта поля боя и при обращении через отряд запускать поиск ПО ВСЕМ ЛОКАЦИЯМ юнита, переменные номера отряда и номера в составе отряда у которого совпадут с искомыми. 3) хранить юнит в одном месте, а в другом ТОЛЬКО УКАЗАТЕЛЬ НА НЕГО. 4) Хранить юнит в одном месте, а в другом переменные, которые позволят сразу обратиться к нему(например юнит хранится в отряде, а в клетке поля где он находится хранится номер отряда и номер в отряде). Отличие от 3 варианта только в большей ресурсоёмкости, поскольку это по сути тоже указатель, хоть и сделанный весьма дурацким образом. В любом случае я уже написал свой класс стеков без с неизменяющимися адресами элементов)
0
|
25.05.2018, 07:11 | |
25.05.2018, 07:11 | |
Помогаю со студенческими работами здесь
3
Вывести на консоль массив bool (объяснить странное поведение программы) Работа с глобальной переменной типа bool Как закрыть программку переменной bool? Не сохранение значения переменной типа bool Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
|
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
|
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
|
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
|
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
|
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
|
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
|
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
|
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
|
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
|
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
|
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
|