П
Прогер-Могер🦾
@progermoger22 подп.
108просмотров
20 октября 2021 г.
Score: 119
Ядерный Ганди. или история про переполнение «У каждого лидера государства в известной компьютерной игре 1991 года Sid Meier’s Civilization был параметр, отвечающий за агрессивность и принимающий значение от 1 до 10, где единица соответствует наименьшему уровню агрессии, а десятка - наибольшему. Индийский лидер Махатма Ганди имел наименьший рейтинг агрессивности среди всех лидеров, равный единице, в результате чего он вёл только оборонительные войны. Когда компьютерный игрок менял государственный строй на демократический — предпочтительный строй для миролюбивых цивилизаций, — его агрессивность дополнительно уменьшалась на два пункта, что в случае Ганди приводило к отрицательному уровню агрессии, равному −1. Однако поскольку уровень агрессии хранился в однобайтовой беззнаковой целочисленной переменной, которая может принимать значения от 0 до 255 (2^8−1), происходило целочисленное переполнение и значение параметра становилось равным 255 — благодаря чему Ганди становился в 25 раз более агрессивным, чем самые воинственные лидеры в игре и активно использовал ядерные бомбардировки стран-соперников. Ошибка была быстро исправлена в первой игре серии Civilization, однако она до того понравилась разработчикам, что была намерено повторена в последующих играх в качестве пасхального яйца и шутки»
108
просмотров
1310
символов
Нет
эмодзи
Нет
медиа

Другие посты @progermoger

Все посты канала →