Показано с 1 по 10 из 19

Тема: Адекватное количество глобальных переменных

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Познающий Аватар для JackCL
    Информация о пользователе
    Регистрация
    27.07.2013
    Адрес
    Дальний Восток
    Сообщений
    554
    Записей в дневнике
    85
    Репутация: 30 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от ZoWW Посмотреть сообщение
    Сколько переменных на ваш взгляд можно использовать без заметного проседания производительности скажем при 4 Гб оперативки?
    На мой взгляд об этом вообще не стоит волноваться.

    4Гб - это огромное количество информации и такие мелочи, как ваши два скромных массива 30х30 и 7x30 его не заполнят никак, если вы не повесите расчеты на параллельный процесс вычисляя производство в реальном времени.

    А вам нужен всего один расчет погрузки/выгрузки товаров в игровые сутки, а компьютеры считают очень быстро. Пауза в 1-2 секунды? 3? Какая разница? Перемещение персонажа из локации в локацию порой происходит в мейкере дольше, чем будет считаться вся ваша экономика.


    Цитата Сообщение от ZoWW Посмотреть сообщение
    Массивы меня бы устроили (хеши), но я с RGSS пока не очень дружу. Цены товаров я в массивы запихнул, а вот с остальным пока не получается.
    Я сам не дружу, но фактически, нужны всего два двумерных массива.

    Массив первый $sklad = Array.new(30) { Array.new(30) }, где первый индекс это номер склада, второй номер товара. Так, в ячейке, например $sklad[3][5] у нас лежит число количество товара №5 на складе №3. Мы можем его уменьшить когда товар забираем со склада и увеличить, когда добавляем.

    Подружите это со скриптом Galv's Shop Upgrade и получите не склады, а полноценные мейкерские магазины с нужным вам количеством товара.


    Второй массив $caravan = Array.new(7) { Array.new(30) }, где первый индекс это номер каравана, второй номер товара (нумерация товаров в караване для удобства аналогична нумерации товаров на складах).

    Дальше остается вопрос написания алгоритмов логистики (перемещение караванов из города в город, тут, конечно, сложно сообразить по какому расписанию 7 караванов будут циклично курсировать между 30 городами, это даже нацело не делится) и алгоритм выгрузки/погрузки товаров (это уже чистая арифметика, хотя вам придется попотеть с балансированием производства и расхода товаров, чтобы не допускать ни затоваривания, ни дефицита).



  2. #2
    Познающий Аватар для ZoWW
    Информация о пользователе
    Регистрация
    15.12.2013
    Сообщений
    487
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от JackCL Посмотреть сообщение
    На мой взгляд об этом вообще не стоит волноваться.
    Спасибо, вы меня действительно успокоили! Правда переживал я не совсем за массивы, а за глобальные переменные, но как я понял большой разницы тут для железа нет.
    Буду пробовать разобраться с массивами. Да действительно это намного удобнее, чем использование переменных, хотя несколько труднее из-за пробелов в моих знаниях скриптинга...
    Логистика у меня намного проще, чем вам представляется. Я новичок и конечно же никакие караваны по карте у меня одновременно не ползают. Да это и не нужно. Каждый караван игрок снаряжает и отправляет лично в диалоге с управляющим, производит запуск процесса, а просчитывается лишь результат прохождения каравана из одного города в другой, без визуального оформления. Результат выдается текстом и наличием товара на складе другого города. Караваны находятся в пути некоторое время, поэтому возможен запуск нескольких и даже всех 7 караванов, но это реализовано поочередным расчетом результата. По сути переменные нужны лишь для того чтобы рассортировать всё по городам и караванам. Затовариванием и дефицитом у меня правит сюжет и квесты, так что механика довольно проста. Еще раз благодарю за обстоятельный ответ.
    В принципе наверное тему можно закрывать.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Адекватное количество глобальных переменных