Игра на языке R построенная на основе R6 классов
Пакет ActionSquirrel представляет из себя небольшую игру, построенную на базе R6 классов. Класс R6 имеет «поля» (переменные) и «методы» (функции), которые могут корректировать значения полей. Это означает, что вы можете управлять состоянием объекта во времени.
Эта игра хороший пример использования R6 классов.
Описание игры:
Ваш персонаж - белка, которая собирает орехи в лесу. Ваша задача за 30 ходов собрать 8 орехов, и не попасть в лапы сове.
Установка:
install.packages("remotes")
remotes::install_github("matt-dray/ActionSquirrel")
Запуск и управление:
Для запуска игры создай объект класса ActionSquirrel.
library(ActionSquirrel)
x <- ActionSquirrel$new()
Далее действие игры переносится в консоль, там будет построено игровое поле (пример показан на изображении к посту). Для управления белкой используете созданный на первом шаге экземпляр объекта, и его метоl move().
x$move("up")
🌳 🌳 🌳 🌳 🌳
🌳 🌳 🌰 🐿 🌳
🌳 🦉 🌳 🌳 🌳
🌳 🌳 🌳 🌳 🌳
🌳 🌳 🌳 🌳 🌳
Moves: 1
Nuts: 0
Метод move() принимает всего один аргумент - where, в который вам необходимо передать направление движения: "up", "down", "left" или "right".
За раз вы можете цепочкой указать сразу несколько шагов:
x$move("up")$move("left")
Ссылки:
- Информация для поста заимствована из статьи "{ActionSquirrel}: a game in the R console"
#заметки_по_R