Snake Prototype (Baxter Dulieu)
(прокрутите вниз, чтобы найти ПРАВИЛА и ЗАГРУЗИТЬ ИГРУ)
Я планировал воссоздать любимую классическую игру и добавить к ней эффективные и творческие приемы. Основная задача, которую я поставил перед собой, состояла в том, чтобы создать всю функциональность игры с использованием 2D-массива и сделать мой код максимально эффективным. 2D-массив хранит три уникальных значения,
4 = голова змеи определяет, за чем следуют сегменты хвоста
2 = тело змеи / сегменты хвоста. Если следующая позиция орла в сетке равна 2, игрок умрет.
3 = яблоки, всякий раз, когда голова игрока накладывается на яблоко, к концу змеи добавляется сегмент хвоста
Функции этой игры не используют встроенную функцию обновления Unity, а функциональность игры происходит каждые n-е секунды (в зависимости от сложности) с использованием функции InvokeRepeating(). Таким образом, это определяет скорость змейки, а также гарантирует, что код не будет выполняться каждый кадр.
Каждый раз, когда игрок ест яблоко, создается новый хвостовой сегмент, который добавляется в список<>. Каждый раз, когда вызывается основная функция перемещения, начиная с последнего объекта в списке, каждый объект будет перемещаться на позицию объекта перед ними.
Все столкновения, включая столкновения со стенами, обрабатываются с помощью системы 2D-сетки.
ИмпоВажное примечание: (Игроки не могут двигаться в том направлении, откуда они только что пришли).
Обзор мультиплеера:(прокрутите вниз, чтобы найти ПРАВИЛА и ЗАГРУЗИТЬ ИГРУ)
На этом уровне используется та же система, что и для одиночной игры, однако некоторые заметные изменения включают в себя то, что теперь есть два отдельных игрока. Игрок 1 управляется с помощью клавиш WASD, а Игрок 2 управляется с помощью клавиш со стрелками.
Игроки будут соревноваться, чтобы набрать наибольшее количество очков, собирая яблоки раньше других игроков и перерезая друг друга. В конце каждой игры игрок получает 1 очко за каждое яблоко, выигранное им на протяжении всей игры, и 5 очков, если он отрезал другого игрока, заставив его умереть.
Чтобы сделать этот игровой режим более приятным для игроков, они не будут наказаны за столкновение со стенами и даже смогут скрывать свою длину от другого игрока.
Обзор ИИ:(прокрутите вниз, чтобы найти ПРАВИЛА и ЗАГРУЗИТЬ ИГРУ)
Уровень ИИ использует алгоритм A* для управления змеей и поиска кратчайшего пути к каждому яблоку. Это, конечно, означает, что змея не может на самом деле выиграть игру, поскольку она рассматривает не самый безопасный путь, а самый быстрый. Однако я адаптировал этот алгоритм, чтобы дать змеиному ИИ наилучшие шансы на выживание.
Всякий раз, когда змее удается отрезать себя, вместо того, чтобы искатькратчайший путь к следующему яблоку (который вернет значение null, поскольку возможного пути нет), он переместит своего ближайшего соседа, который не заполнен змеей или каким-либо из ее хвостовых сегментов.
Алгоритм принимает во внимание позиции сетки, в которых в настоящее время находятся его хвостовые сегменты, и не будет принимать это как допустимое положение узла и, следовательно, пытаться найти допустимый способ обойти его.
На этом уровне используется комбинация пользовательских узлов, а также тот же двухмерный массив, что и в одиночном режиме. Эти узлы содержат
- GridValue (значение позиции в двумерном массиве, например 0, 2, 4)
- xPosition (значение x в двумерном массиве)
- yPosition (значение y в 2D-массив)
- GScore
- HScore
- FScore
- indexPosition (позиция узла в массиве AllNodes)
- ConnectedNodes (массив узлов, смежных с текущим узлом)
- CameFrom (предыдущий узел на пути)
- WASD для перемещения вбок.
- Поедание яблок (красных кубиков) отрастит хвост игрока, что принесет вам по 10 очков за каждое.
- Поедание хвоста запустит игру чтобы закончить
- Удар о стену приведет к завершению игры
- Попробуйте набрать высокий балл, максимум 6250, чтобы выиграть!
- Игрок 1 использует WASD для перемещения, Игрок 2 использует клавиши со стрелками
- Игрок не умрет, если ударится о стену, но умрет, если наткнется на себя или другого игрока.
- В конце игры плигрок получает 1 очко за каждое съеденное яблоко и 5 очков, если другой игрок заставил игру закончиться (столкнулся с ними)
- Никаких правил, расслабьтесь и посмотрите, сколько очков может набрать ИИ.
Как скачать Snake Prototype (Baxter Dulieu) через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Snake Prototype (Baxter Dulieu)
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!