1 / 1 / 0
Регистрация: 29.04.2018
Сообщений: 56

Бесконечная валюта для кликера

10.01.2023, 14:26. Показов 1575. Ответов 8

Author24 — интернет-сервис помощи студентам
Всем привет!

У меня вопрос такой, в любом кликере, есть возможность зарабатывать деньги, и когда заработанная сумма превышает какой-то порог, то появляется приписка в виде символа. Например: в игре Clicker heroes за обычными тысячами, следует 1K. Затем 1M. И так далее...

Вопрос состоит именно в технических ограничениях. Например в движке Godot, целочисленные переменные типа int по ограничениям соответствует int64_t в c++. Понятное дело что ограничение существует, и если переменная переполнится, то будут проблемы. Как тогда сделать бесконечную валюту, независимую от ограничений движка на определенные типы переменных?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2023, 14:26
Ответы с готовыми решениями:

Счетчик для кликера
Короче хочу сделать кликер на Unity, написал код, всё работает, но счетчик не обновляется. Обновляется только при клике, а нужно каждую...

Вылетающий текст для кликера
Здравствуйте, как в Unity5 2D сделать текст, вылетающий с одной точки, как в кликерах различных? Пытался найти в интернете, но нашел только...

Алгоритм для кликера
Здравствуйте, нужна помощь в написании бота-кликера. Нужно закидывать картинки для товары весь процесс сотосит в том что: открываешь...

8
Эксперт .NET
 Аватар для Rius
12326 / 7317 / 1618
Регистрация: 25.05.2015
Сообщений: 22,116
Записей в блоге: 14
10.01.2023, 15:22
В игре нет бесконечных денег.
Как вы собираетесь переполнить int64?
1K, 1M это привычные игрокам сокращения: тысячи, миллионы (можно написать КК).

Строка или BigInt какой-нибудь.
0
1 / 1 / 0
Регистрация: 29.04.2018
Сообщений: 56
10.01.2023, 15:24  [ТС]
Возможно я не правильно выразился. Как можно вообще хранить такие числа? Ну которые предположим уже за гранью int64. Ведь в последующем необходимо покупать какие-то улучшения, на это нужно тратить деньги. А поэтому надо хранить значения денег. Как можно обойти ограничение, но при этом, чтобы сохранялась возможность производить математические операции?
0
Эксперт .NET
 Аватар для Rius
12326 / 7317 / 1618
Регистрация: 25.05.2015
Сообщений: 22,116
Записей в блоге: 14
10.01.2023, 15:27
Может, я неправильно выразился?

Какое максимальное число в int64 влезает? В какой игре вы видели, чтобы такие числа фигурировали на рынке?

BigInt.

Добавлено через 21 секунду
Может, я неправильно выразился?

Какое максимальное число в int64 влезает? В какой игре вы видели, чтобы такие числа фигурировали на рынке?

BigInt.
0
1 / 1 / 0
Регистрация: 29.04.2018
Сообщений: 56
10.01.2023, 15:29  [ТС]
Хорошо, в clicker heroes в определенные момент числа будут в виде 1.000е200 и выше. Как понимаете, подобные числа могут превышать ограничения int. Вот как избежать впринципе переполнения переменной денег?
0
Эксперт .NET
 Аватар для Rius
12326 / 7317 / 1618
Регистрация: 25.05.2015
Сообщений: 22,116
Записей в блоге: 14
10.01.2023, 16:40
Лучший ответ Сообщение было отмечено LaVaSHoCK как решение

Решение

BigInt - класс, хранящий целое число любой длины. Под каждый язык программирования свой.
В godot вот похожее: Big number class.
Можете своё написать. Создать класс, определить ему математически операции. Для хранения значения задействовать список переменной длины, хранящий байты.

Строки. Любая длина, но нет математических операций, надо писать.
0
 Аватар для Storm Screamer
4301 / 1152 / 95
Регистрация: 21.04.2013
Сообщений: 7,796
12.01.2023, 06:07
Лучший ответ Сообщение было отмечено LaVaSHoCK как решение

Решение

Цитата Сообщение от LaVaSHoCK Посмотреть сообщение
Как тогда сделать бесконечную валюту, независимую от ограничений движка на определенные типы переменных?
Бесконечную в техническом плане не возможно. Память конечна. Да и в принципе бесконечного ничего не существует в нашем мире.

Цитата Сообщение от LaVaSHoCK Посмотреть сообщение
Вот как избежать впринципе переполнения переменной денег?
При достижении лимита сбрасывать значение переменной в ноль. Но вопрос у вас, полагаю, другой на самом деле. У вас он скорее больше геймдизайнерский, чем технический, потому что задача стоит сымитировать очень большие значения.

Один из простейших способов реализации создать "счетчик пределов", либо "счетчики счетчиков пределов", если первого мало. Создаете две переменные int64. Первая содержит саму валюту, вторая счетчик пределов это валюты. Когда первая достигает лимита, увеличивать счетчик на +1, и сбрасывать первую в ноль. Причем как вариант можно учитывать с какой стороны достигается предел, если нужно делать, как увеличение счетчика, так и уменьшение. Достигнут предел слева делать -1, справа +1. А используя массив таких счетчиков... игра растянется, мягко говоря, надолго.

Если использовать строки? Тут проблема другая. На минутку гипотетически предположим, что у нас переменная хранит бесконечно большое число. Однако, область вывода такой переменной, иначе говоря область GUI, ограничена. Экранное пространство, внезапно, не бесконечно. Вы об этом думали?
1
1 / 1 / 0
Регистрация: 29.04.2018
Сообщений: 56
12.01.2023, 10:41  [ТС]
Цитата Сообщение от Storm Screamer Посмотреть сообщение
Если использовать строки? Тут проблема другая. На минутку гипотетически предположим, что у нас переменная хранит бесконечно большое число. Однако, область вывода такой переменной, иначе говоря область GUI, ограничена. Экранное пространство, внезапно, не бесконечно. Вы об этом думали?
Не думал

Но впринципе вы сказали очень дельную идею по поводу счетчика пределов. Простое решение и мне оно подходит) Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2023, 10:41
Помогаю со студенческими работами здесь

Создать скрипт для кликера
Здравствуйте! Хочу написать скрипт автоигры, скрипт должен кликать по кнопкам, повышать ставку и распозновать, когда выиграл или...

Нужен скрипт для работы кликера
Добрый день! Помогите доработать кликер для браузерной игры. Необходимо чтобы Ауто ит запускал бой в игре, исполнением команды, т.к....

Подойдет ли с++ для кликера по интернет страничкам
Добрый день, такой вопрос, нужна программа, которая в браузере нажимала бы определенные кнопки (на интернет страничке), ожидала загрузки,...

DisplayFormat (валюта) для Label.Caption
В Label выводится сумма (в string), как её отобразить в формате валюты? К примеру, 865 что бы отображались как 865,00

Кто поможет или подскажет в создании серверного кликера для игры дурак?
Слишком умного необязательно)Спасибо


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
Kubernetes с Apache Flink для обработки данных в реальном времени
Mr. Docker 17.05.2025
Kubernetes — это целая философия управления распределёнными приложениями. В отличие от "примитивных" решений вроде Docker Swarm, K8s (как его ласково называют в тусовке DevOps-инженеров) предлагает. . .
Использование декораторов в Python
py-thonny 17.05.2025
Если вы когда-нибудь задумывались о том, как красиво расширить функциональность кода без лишней возни и дублирования, декораторы в Python — та самая волшебная палочка, которую вы искали. По сути, это. . .
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru