Небольшая игра на c#
Имеется игровое поле N x M клеток. Каждая клетка относится к одной из сред - воде или суше. Конфигурация границы между средами задается программно и должна допускать возможность нетрудоемкого изменения.
Мир населен существами (животные и растения) и неживыми объектами
Животные относятся к биологическим видам: рыбы, утки, воробьи, черепахи, кролики.
Растения относятся к биологическим видам: дерево, капуста, водоросль
Дерево, и капуста могут находиться на суше. Водоросль может находиться в воде..
Неживые объекты: камень
Считаем, что в дальнейшем могут появиться новые типы объектов с любыми свойствами.
Все живые существа имеют уровень здоровья. Изначальный уровень здоровья определяется биологическим видом существа. Если уровень здоровья существа уменьшился до 0 или ниже, существо удаляется с карты.
Животные имеют биологический пол.
Все растения и некоторые животные являются съедобными.
Некоторые съедобные объекты являются частично съедобными. При их употреблении в пищу их здоровье уменьшается на фиксированную величину.
Остальные съедобные объекты являются полностью съедобными. При их употреблении в пищу их здоровье уменьшается до нуля.
Все животные могут употреблять в пищу съедобные объекты.
Животные могут размножаться.
Некоторые объекты являются препятствиями для движения.
Игра пошаговая. Один ход игры включает в себя две фазы
1) Все существа, которые могут двигаться, совершают перемещение
2) Все существа взаимодействуют между собой и с неподвижными объектами исходя из их взаимного расположения после завершения первой фазы, и совершают действия, разрешенные для объекта исходя из его типа и состояния.
1. Перемещение
Виды перемещения: плавание, полет, ходьба
Плавание разрешено в воде
Ходьба разрешена на суше
Полет разрешен над сушей и над водой, при этом игнорируются препятствия и границы сред
Рыбы могут плавать.
Утки могут плавать, летать и ходить.
Воробьи могут летать и ходить.
Черепахи могут плавать и ходить.
Кролики могут ходить.
Существо перемещается всегда в случайном направлении случайным (но разрешенным в данном случае) способом на количество клеток, которое определяется скоростью, присущей биологическому виду для данного способа перемещения. Если в результате перемещения существо пересекает границу карты, границу среды, в которой разрешен данный вид перемещения, или проходит через клетку, на которой расположено препятствие, то конечная точка перемещения заменяется на клетку на границе или клетку с препятствием. При полете препятствия и границы сред (но не карты) игнорируются.
Препятствия: камень, дерево
2. Взаимодействие.
Виды взаимодействия: употребление в пищу, размножение.
2.1. Употребление в пищу.
Все животные могут употреблять в пищу съедобные объекты, если после хода оказываются на одной клетке с ними.
При употреблении в пищу частично съедобного объекта здоровье объекта уменьшается на фиксированную величину, а здоровье съевшего увеличивается на ту же величину.
При употреблении в пищу полностью съедобного объекта здоровье объекта уменьшается до нуля, а здоровье съевшего увеличивается на величину здоровья съеденного объекта.
Частично съедобные объекты: дерево, водоросль
Полностью съедобные объекты: капуста, рыба
2.2. Размножение
Если два существа одного биологического вида и разного пола находятся на одной клетке, они совершают акт размножения. После этого у существа женского пола устанавливается значение счетчика беременности, который декрементируется на каждом ходу. Изначальное значение счетчика - свое для каждого биологического вида.
Подразумевается, что в будущем могут появиться другие виды взаимодействия.
3. Действия:
3.1. Роды
Существо женского пола, для которого счетчик беременности изменился с 1 на 0, рождает от 1 до n существ своего биологического вида случайного пола. Значение N определяется биологическим видом. Существа появляются на карте в той же клетке, что и родившее их существо.
3.2. Рост
Растения вырастают на 1 единицу здоровья за ход.
Подразумевается, что в будущем могут появиться другие действия, например, создание гнезда или норы.
Результатом работы симуляции является вывод в консоль (лог-файл) после каждого хода:
- Координат каждого объекта
- Уровня здоровья каждого существа
- Информации о произошедших в течение хода действиях и взаимодействиях.
Возможна, но необязательна, визуализация игрового поля в консоли, где каждый символ соответствует клетке игрового поля, а находящиеся на нем объекты обозначаются буквами, соответствующими типу объекта (или цифрами, если объектов на клетке более одного).
После реализации основного функционала ставится задача по доработке:
1. Добавить объекты: колючка (растение), ловушка (неживой объект)
2 Добавить взаимодействия:
2.3. Повреждение
Если существо после хода находится на одной клетке с колючкой, у него снимается 1 единица здоровья.
2.4. Попадание в ловушку
Если существо после хода находится на одной клетке с ловушкой, оно теряет способность перемещаться. При этом ловушка считается сработавшей и удаляется с карты.
-
263 10 0 Здравствуйте, имею большой опыт разработки, работаю на C# уже 3 года. Занимался написанием игр под заказ, готов обсудить детали, пишите.
Telegram: https://t.me/Erhon
-
175 1 0 Здравствуйте! С удовольствием выполню ваш заказ .Понимаю концепцию, но есть некоторые вопросы, которые стоит обсудить.
-
146 1 0 ДОбрий день! Могу сделать
ДОбрий день! Могу сделать
ДОбрий день! Могу сделать
ДОбрий день! Могу сделать
-
2073 116 0 Добрый день! Задачка интересная, все легко реализуемо, нужно только детальнее обговорить некоторые моменты. Обращайтесь!
-
544 70 13 2 Готов сделать. Можно, кроме вывода в консоль/лог добавить простое GUI на Windows Forms.
-
378 85 3 6 интересная симуляция, готов взяться за реализацию, интересует больше деталей
цена и сроки примерные до обсуждения ТЗ
-
140 2 1 1 Здравствуйте, я опытный C# разработчик и есть опыт разработки систем симуляции жизни( например как на канале Foo52), так что смогу качественно сделать ваш заказ.
-
165 Добрый день
Готов взяться за ваш проект, опыт с ООП есть и задумка для реализации тоже есть
(Есть предложение для обсуждения приглашаю в ЛС)
-
426 20 1 1 Очень заинтересовал проект. Пишите в телеграмм или вайбер +380978914597.
Так все обсудим и уточним детали, а так же срок работы и возможно цену.
-
Vadim Rybalko BuildApps
Есть какие-то пожелания к платформе? и огласите бюджет проекта
-

Игра пошаговая. Один ход игры включает в себя две фазы
1) Все существа, которые могут двигаться, совершают перемещение
2) Все существа взаимодействуют между собой и с неподвижными объектами исходя из их взаимного расположения после завершения первой фазы, и совершают действия, разрешенные для объекта исходя из его типа и состояния.
Судя по этому описанию, это не игра (т.к. нет игрока и взаимодействия с ним), а некая симуляция (с экологическим уклоном).
Результатом работы симуляции является вывод в консоль (лог-файл) после каждого хода:
- Координат каждого объекта
- Уровня здоровья каждого существа
- Информации о произошедших в течение хода действиях и взаимодействиях.
Возможна, но необязательна, визуализация игрового поля в консоли, где каждый символ соответствует клетке игрового поля, а находящиеся на нем объекты обозначаются буквами, соответствующими типу объекта (или цифрами, если объектов на клетке более одного).
Для 10-ти существ такой вывод в консоль, возможно, и будет понятен, но если существ будет больше, то нужен будет какой-то другой способ "визуализации".
В консоли клетки рисовать неудобно и информативность этого будет очень низкая. Лучше уж сразу GUI на WinForms/WPF/etc.
Если C# и для Windows, то целесообразно смотреть в сторону Unity.
Это университетский проект, хобби или стартап перспективно-коммерческий? 🙂
Что по срокам реализации?
-
У вас есть контактные данные какие-то? А то у вас ЛС закрыто...
-
Добрый день, заинтересовал ваш проект
Могу ли узнать некоторые детали:
Как происходит алгоритм при котором животное ищет еду,как определить в каком положение находиться птица (летает или ходит), так же есть много неточностей ( отображение на консоль состояния пусть 20 животных и поля 20Х20 будет оченьнеудобным в обработке -
Сколько дается времени на выполнение?
-
Актуальные фриланс-проекты в категории C#
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 7 дней 20 часов назад ∙ 2 ставки |
Создание плагина для интеграции с POS-системой Syrve, C#Разработать плагин для POS-системы Syrve (on-premise), который устанавливается на сервер заведения. Плагин должен: (1) передавать на наш сервер данные в режиме реального времени — заказы, статусы столов, платежи, чеки; (2) принимать команды от Reservble — подтверждения… C#, Веб-программирование ∙ 10 дней 17 часов назад ∙ 14 ставок |