Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cupboards

Build codecov License: MIT

Windows / Linux / macOS builds and releases: latest release

Read in: English | Русский


English

Cupboards is a puzzle game about moving pieces across a graph to their target positions. Each piece can only step to an adjacent node, and other pieces block the way, so the order you move them in actually matters.

Started as something like sokoban on a graph instead of a grid, and the graph structure ended up changing how the puzzles play out more than I expected.

How to play

  1. Grab the latest release for your OS
  2. Unzip and run cupboards-game
  3. Click a piece to select it
  4. Click a highlighted node to move it there
  5. Get all pieces to their targets to complete the level
Action Input
Select a piece Left-click
Move a piece Left-click highlighted node
Undo Ctrl+Z
Debug info F1
Back to menu Menu button

Features

  • 9 levels
  • Undo support (Ctrl+Z)
  • Background music and sound effects, adjustable in settings
  • Russian and English UI
  • Dark and light themes
  • BFS pathfinding for piece movement (also used during development to validate level solvability)

Build from source

Windows:

cmake -B build .
cmake --build build --config Release --parallel
.\build\game\Release\cupboards-game.exe

Ubuntu / WSL:

sudo apt-get install libsfml-dev build-essential cmake libfreetype-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/game/cupboards-game

macOS:

brew install cmake freetype
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
./build/game/cupboards-game

Dependencies are fetched automatically via CMake FetchContent. You only need CMake and a C++17 compiler.


Русский

Cupboards: головоломка про то, как расставить фишки по целевым позициям на графе. Фишка ходит только на соседний узел, а другие фишки перекрывают путь, так что порядок ходов реально имеет значение, не только конечная расстановка.

Начиналось как «сокобан, только на графе вместо сетки», но структура графа в итоге меняет логику решения сильнее, чем я изначально рассчитывал.

Как играть

  1. Скачайте последний релиз для вашей ОС
  2. Распакуйте и запустите cupboards-game
  3. Кликните на фишку, чтобы выбрать её
  4. Кликните на подсвеченный узел, чтобы переместить фишку
  5. Расставьте все фишки по целям, чтобы пройти уровень
Действие Управление
Выбрать фишку ЛКМ
Переместить фишку ЛКМ на подсвеченный узел
Отменить ход Ctrl+Z
Отладка F1
Вернуться в меню Кнопка «Menu»

Возможности

  • 9 уровней
  • Отмена ходов (Ctrl+Z)
  • Музыка и звуки, настраиваются в меню
  • Русский и английский интерфейс
  • Тёмная и светлая темы
  • BFS-поиск пути для перемещения фишек (также использовался при разработке для проверки проходимости уровней)

Сборка из исходников

Windows:

cmake -B build .
cmake --build build --config Release --parallel
.\build\game\Release\cupboards-game.exe

Ubuntu / WSL:

sudo apt-get install libsfml-dev build-essential cmake libfreetype-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/game/cupboards-game

macOS:

brew install cmake freetype
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
./build/game/cupboards-game

Зависимости скачиваются через CMake FetchContent. Нужны только CMake и компилятор с поддержкой C++17.

⬆ Наверх

About

C++17 board game engine with SFML graphics. Move pieces through interconnected levels in this logic puzzle.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages