{"id":31836245,"url":"https://github.com/syperolao/hammurabi_clone","last_synced_at":"2025-10-12T01:28:24.207Z","repository":{"id":317861047,"uuid":"1064975925","full_name":"SyperOlao/Hammurabi_clone","owner":"SyperOlao","description":"Вам предлагается разработать клон игры Хаммурапи – Правитель Египта.","archived":false,"fork":false,"pushed_at":"2025-10-03T13:03:00.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-03T15:11:16.578Z","etag":null,"topics":["console-app","console-game","cplusplus-20"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SyperOlao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T21:10:15.000Z","updated_at":"2025-10-03T13:03:04.000Z","dependencies_parsed_at":"2025-10-03T15:11:18.287Z","dependency_job_id":"1749c5d8-eebd-446f-83dd-7e2039506187","html_url":"https://github.com/SyperOlao/Hammurabi_clone","commit_stats":null,"previous_names":["syperolao/hammurabi_clone"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SyperOlao/Hammurabi_clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyperOlao%2FHammurabi_clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyperOlao%2FHammurabi_clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyperOlao%2FHammurabi_clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyperOlao%2FHammurabi_clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SyperOlao","download_url":"https://codeload.github.com/SyperOlao/Hammurabi_clone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyperOlao%2FHammurabi_clone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009769,"owners_count":26084646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console-app","console-game","cplusplus-20"],"created_at":"2025-10-12T01:28:23.447Z","updated_at":"2025-10-12T01:28:24.200Z","avatar_url":"https://github.com/SyperOlao.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# #1: Hammurabi\n\n## История\nВ 1968 году Дугом Диментом (Doug Dyment), сотрудником компании Digital\nEquipment Corporation, была создана игра The Sumer Game – текстовая\nэкономическая игра, требующая от игрока управления экономическими\nресурсами города. Написана она была на языке программирования FOCAL ,\nразработанном коллегой Димента Ричардом Мериллом (Richard Merrill).\nСчитается, что The Sumer Game была основана на игре 1966 года The\nSumerian Game, намного более сложным экономическим симулятором,\nпредназначенным для детей. Множество версий этой игры было затем\nреализовано на языках программирования FOCAL и FOCAL-69, а в 1973\nДэвид Ал (David H. Ahl) выпустил книгу «BASIC Computer Games», содержащую\nисходный код множества игр, написанных на языке программирования\nBASIC. В том числе, в книге был код игры, основанной на The Sumer Game,\nпереписанной на BASIC. Эта расширенная версия игры, названная Hamurabi\n(Хаммурапи), быстро приобрела популярность, благодаря как\nпопулярности языка программирования BASIC, так и книги «BASIC Computer\nGames», которая стала первой компьютерной книгой, проданной тиражом\nболее миллиона экземпляров. Игра Hamurabi повлияла на многие более\nпоздние стратегические игры и игры-симуляторы, и, фактически, является\nродоначальником жанра градостроительных игр.\n## Правила игры\nИгра состоит из 10 раундов, в течение которых игрок, выступающий в роли\nправителя древнего Вавилона Хаммурапи, распоряжается ресурсами\nгорода.   \n**Ресурсами являются:** население, акры земли и бушели пшеницы.  \nКаждый **раунд** представляет **один год** правления.   \nКаждый гражданин возделывает некоторое количество акров земли, в результате чего\nпроизводится некоторое количество бушелей пшеницы.    \nЭта **пшеница** может использоваться либо **в качестве еды** для граждан (которые при\nнедостатке еды умирают от голода), либо **в качестве семян** для посева\nурожая на следующий год.  \nИгрок также может покупать и продавать землю,\nиспользуя пшеницу как валюту.\n\nКаждый раунд начинается с доклада советника «Мой повелитель,\nсоизволь поведать тебе» о текущем состоянии дел в городе, состоящем из\nсборов пшеницы за прошлый год, акрах земли, занимаемых городом, и\nизменении в населении. После чего, советник спрашивает, сколько земли\nнеобходимо купить или продать в этом году, сколько пшеницы\nиспользовать на семена, и сколько пшеницы использовать в качестве еды.\nИгрок отвечает на эти вопросы вводя целые числа.\n\nИгра скрывает от игрока некоторую часть важной информации: правила и\nкоэффициенты расчета параметров за раунд, но это сделано намеренно.\n\nПодбор этих параметров является частью игрового процесса.\nРазнообразие игре обеспечивает генератор случайных чисел. Цена земли\nопределяется случайным образом в начале каждого раунда. Так же\nслучайным образом определяются количество бушелей пшеницы\nсобранных с каждого акра земли, количество пшеницы, съеденной\nкрысами, и количество новых граждан, прибывших в город в прошлом году.\nВ каждом году есть некоторая вероятность чумы, уменьшающей\nнаселение города наполовину.\nИгра заканчивается после 10 раундов, или ранее, если все население\nгорода вымрет, или более 45 процентов населения умрут от голода в\nтечение одного раунда.\n## Алгоритм\nИгра начинается со следующими параметрами:  \n- В городе проживает 100 человек  \n- В закромах города 2800 бушелей пшеницы  \n- Город занимает 1000 акров земли\n#### В начале каждого раунда игрок видит  \n- Номер раунда  \n- Количество людей, умерших от голода (если не было, то не\nпоказывается)  \n- Количество людей, приехавших в город (если не было, то не\nпоказывается)\n- Была ли чума\n- Текущее население города\n- Сколько всего пшеницы было собрано и сколько пшеницы было\nполучено с акра\n- Сколько пшеницы уничтожили крысы\n- Сколько акров сейчас занимает город\n- Какова цена одного акра земли в этом году\nЦена акра определяется случайно в начале каждого раунда из диапазона\nот 17 до 26  \n#### Затем игрок вводит:\n- Количество акров земли, которые он хочет купить\n- Количество акров земли, которые он хочет продать\n- Количество бушелей пшеницы, которые будут использованы в\nкачестве еды\n- Количество акров земли, которые необходимо засеять пшеницей\n\nИгра контролирует вводимые значения, и, если значения оказываются\nнекорректными (например, количество земли, которое хочет купить игрок\nне может быть оплачено имеющимся пшеницей, или введено\nотрицательное количество акров земли), выводит соответствующие\nпредупреждения.\n\n#### Для контроля используются следующие значения (некоторые из них скрыты от игрока, он должен определить их сам):\n- Продажа и покупка земли выполняются по текущей цене\n- Каждый житель потребляет 20 бушелей пшеницы в год\n- Каждый житель может обрабатывать максимум 10 акров земли\n- Каждый акр требует .5 бушелей пшеницы на семена  \n\n#### Переход к следующему раунду определяется правилами\n- Количество пшеницы, собранного с акра определяется случайно из\nдиапазона от 1 до 6\n- Крысы съедают случайное количество пшеницы из диапазона от 0 до\n0.07*имеющееся количество бушелей с учетом сборов\n- Каждый житель потребляет 20 бушелей пшеницы в раунд, те, кому не\nхватает еды, умирают от голода\n- Если за раунд умерли от голода более 45% населения, игрок сразу же\nпроигрывает\n- Количество вновь прибывших определяется по формуле:\nумерших_от_голода /2 + (5 – сбор_с_акра) * бушелей_пшеницы / 600 +\n1\nзатем, если это количество меньше 0, берется 0, если больше 50, то\n50\n- Чума возникает с вероятностью 15%, если это происходит, то\nнаселение уменьшается наполовину с округлением вниз  \n#### После 10 раунда игра вычисляет следующие статистики:  \n- Среднегодовой процент умерших от голода P\n- Количество акров земли на одного жителя L  \nи выставляет игроку оценку по результатам правления:  \n- Если P \u003e 33% и L \u003c 7 – плохо («Из-за вашей некомпетентности в\nуправлении, народ устроил бунт, и изгнал вас их города. Теперь вы\nвынуждены влачить жалкое существование в изгнании»)\n- Если P \u003e 10% и L \u003c 9 – удовлетворительно («Вы правили железной\nрукой, подобно Нерону и Ивану Грозному. Народ вздохнул с\nоблегчением, и никто больше не желает видеть вас правителем»)\n- Если P \u003e 3% и L \u003c 10 – хорошо («Вы справились вполне неплохо, у вас,\nконечно, есть недоброжелатели, но многие хотели бы увидеть вас во\nглаве города снова»)\n- В противном случае – отлично («Фантастика! Карл Великий,\nДизраэли и Джефферсон вместе не справились бы лучше»)\n## Пример раунда  \nНиже приведен пример одного раунда игры, значения, вводимые игроком\nвыделены жирным шрифтом  \nМой повелитель, соизволь поведать тебе  \nв году 3 твоего высочайшего правления  \n12 человек умерли с голоду, и 30 человек прибыли в наш великий город;\nЧума уничтожила половину населения;  \nНаселение города сейчас составляет 51 человек;  \nМы собрали 600 бушелей пшеницы, по 3 бушеля с акра;  \nКрысы истребили 48 бушелей пшеницы, оставив 3103 бушеля в амбарах;\nГород сейчас занимает 220 акров;  \n1 акр земли стоит сейчас 21 бушель.  \nЧто пожелаешь, повелитель?  \nСколько акров земли повелеваешь купить? **25**\nСколько бушелей пшеницы повелеваешь съесть? **4000**  \nСколько акров земли повелеваешь засеять? **110**  \nО, повелитель, пощади нас! У нас только **51** человек, **3103** бушелей пшеницы и **220**\nакров земли!  \nСколько акров земли повелеваешь купить? **25**  \nСколько бушелей пшеницы повелеваешь съесть? **1200**  \nСколько акров земли повелеваешь засеять? **110**  \nМой повелитель, соизволь поведать тебе  \n...\n## Задание  \nВам предлагается разработать клон игры Хаммурапи – Правитель Египта.\nИгра должна представлять собой консольное приложение,\nосуществляющее ввод/вывод при помощи \u003ciostream\u003e. Игра должна давать\nпользователю возможность прерваться (выйти из игры) в начале каждого\nраунда и автоматически сохранить прогресс в файле. При повторном\nзапуске игры, если имеется сохраненный прогресс, игра должна спросить\nнадо ли продолжить предыдущую игру или начать игру заново. Для работы\nс файлами используйте библиотеку \u003cfstream\u003e.\nВы можете расширить экономическую модель игры, и ввести\nдополнительные параметры, однако их количество не должно превышать\n5","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyperolao%2Fhammurabi_clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyperolao%2Fhammurabi_clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyperolao%2Fhammurabi_clone/lists"}