ikn / brjaf Goto Github PK
View Code? Open in Web Editor NEWA tile-based puzzle game about moving blocks to their goals.
Home Page: http://ikn.org.uk/game/brjaf
License: GNU General Public License v3.0
A tile-based puzzle game about moving blocks to their goals.
Home Page: http://ikn.org.uk/game/brjaf
License: GNU General Public License v3.0
Brain Requirement Just A Formality is a tile-based puzzle game about moving blocks to their goals. DEPENDENCIES Python (2.6 or later 2.x) Pygame (1.8 or later, probably; tested with 1.9.1) xclip (not required for Windows or Mac) RUNNING ./configure ./run Should work wherever Pygame does. Creates ~/.brjaf/ for config stuff. GAMEPLAY Levels starting with '?' are not in order and use concepts not yet introduced, but I've included them anyway. When editing, there are two grids: the one on the left is the puzzle you're creating, and the one on the right is used to select the surface/block to place in the puzzle. CONTROLS Global: - F10: minimise - F11/alt+enter: toggle fullscreen Menu: - arrow keys: change selection; left/right change selector options - alt + left/right: change number selectors more quickly - ctrl + left/right: select first/last selector option - enter, space: click a button; select/deselect a text entry - escape, backspace: go back; quit; deselect a text entry - press the first character of an option to select it (and click it if it's the only one starting with that character) Puzzle: - WASD, arrow keys: move; right steps forwards through moves when auto-solving is paused (see below) - ctrl + arrow keys: move, but only when you're holding at least two directions (diagonal movement can be hard otherwise) - QEZX: move diagonally; both this and WASD are nice in Dvorak if you select it in the options menu - R: reset - tab, F8, slash, backslash (hold): fast-forward auto-solving; hold ctrl for even faster fast-forward - enter, space: pause/unpause auto-solving - escape, backspace: pause Editor: - WASD, arrow keys: move selection (either grid) - shift/alt + arrow keys: resize grid - escape, backspace: pause; if the second grid is selected, switch to the main grid - tab, F8, slash, backslash: switch the selection to the other grid - enter, space, i, insert: insert a block into the current tile in the main grid - delete, d: remove any block/surface (block only if both are present) from the current tile in the main grid - U, ctrl + Z: undo - ctrl + R, ctrl + shift + Z, ctrl + Y: redo - R: reset the puzzle to the original state (blank if new, or what was loaded) (cannot be undone) Editor mouse control: - left-click selects the grid/tile under the pointer, if any - right-click deletes the block/surface under the pointer (block first, like with the keyboard) - middle-click-drag resizes the grid KNOWN ISSUES - the keyboard layout setting requires a restart to take effect. - going to fullscreen then back to windowed ends up with a maximised window on Linux. - on Windows, the mouse cursor might not move smoothly. (XP? Old graphics cards?) - on Windows, mouse control might be entirely broken (same again). LICENSING Source code is available under the GNU General Public License, version 3 (included in the LICENSE file). The external code brjaf/ext/clipboard.py is available under a different (compatible) license, included in the file. Images are available under the Creative Commons CC0 license: https://creativecommons.org/publicdomain/zero/1.0/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.