Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
rslid_12feb16.tar.gz | 2016-02-11 | 160.5 MB | |
README.md | 2016-02-11 | 10.3 kB | |
Totals: 2 Items | 160.6 MB | 0 |
RufasSlider - v2.6
What's new:
v 2.6 - 12feb16
- added many traffic-rush puzzles. Some are vertically oriented; others are my own design using an experimental auto-generator.
- fixed some coding errors; added guard, warning statements.
- generalized rush, bfs_rush to support vertically oriented puzzles.
- generalized and improved bfs, the bslider autosolver.
- upgraded filename sort within rush to be fully lexicographical. The intent is to list the most difficult puzzles last.
- added minimum number of moves to rush objective statements.
- added DirtyDozen slider puzzles...12 increasingly difficult L-block sliders.
- Here is an updated list of all 16 puzzle games currently included, and their objectives:
- eight: put into numerical order.
- nine: reverse the numerical order.
- fifteen: put into numerical order.
- gmg: capture the escaped goat within the corral.
- hio: put the ball into the center.
- hio4: put the ball into the center, with added impediments.
- linkRings: move unlinked rings so they are linked.
- unlinkRings: move linked rings so they are unlinked.
- maboy: move the boy together with his mother in upper right corner.
- panama: correct the spelling.
- rush: family of traffic-rush puzzles.
- bslider: move the large block to a goal position in this large family of rectangular block slider puzzles.
- suits: move the 4 card-suit symbols one step clockwise.
- flat7: restore numerical order after randomization.
- flatAZ: restore alphabetical order after randomization.
- dirty12: move large red block to lower right corner with L-shaped block obstacles.
- and two autosolvers:
- bfs: only solves bslider
- bfs_rush: only solves rush.
- Note that the included autosolvers only work for "bslider" or "rush". Solutions or hints for other puzzles might be found on Google, or at http://www.jaapsch.net/puzzles/.
v 2.5 - 31jan16
- added nine and hio4, a variation of hole-in-one, both Grabarchuk sliders.
- added my flat7 and flatAz sliders.
v 2.4 - 30jan16
- added "suits" slider puzzle (Grabarchuk) whose objective is to move all four suits one step clockwise. (hint: same trick as panama).
- now, a single executable provides an entry point for all the puzzles. This allows the user to point and click to start the puzzle of interest. Use "rufas_osx" on Mac/OS-X, or "rufas_gnu" on Gnu/Linux.
v 2.2 - 23aug15
- improved bfs.cc (the automatic Breadth-First-Search block solver for slider) that writes the solution to a file named "path.txt".
- created bfs_rush.cc solver for traffic rush puzzles that works similarly but writes the solution to a file named "rushpath.txt".
- Be aware that in the "slider" and "rush" executables, the block numbering is toggled using the (x) key to make it easy to follow the solution steps produced by the two solvers.
- improved responsiveness by reducing dlay from 0.3 to 0.1.
v 2.1 - 1apr15
- modified the call to SDL_Init so only required systems are initialized;
- improved the linux compile script and added comments to help it work properly;
- added full descriptions of minor edits that might be needed by an end user;
v 2.0 - 28mar15
- deleted unlinkRings; instead simply type "linkRings i". In fact any command line parameter will now initiate the inverse puzzle.
RufasSlider Introduction
RufaSlider contains many block slider puzzles including the Klotski-style family and the Traffic-Rush family.
The Klotski family uses rectangles of 4 sizes: 1x1, 2x2, 1x2, 2x1. The objective in each game is stated near the window top, but usually involves moving a large block to a specified location within the window.
The Traffic-Rush family uses data, with 2x1, 1x2, 3x1, 1x3 rectangles. Here, the long rectangles represent cars or trucks that can only move [roll] lengthwise...the goal being to move the red car toward the "garage door" on the right.
Note that either game description file is a simple text file with a particular format that allows users to easily define additional puzzles.
Several other classic block slider games are included: Fifteen, Eight, Nine, Panama, MaBoy, GetMyGoat, 2-versions of HoleInOne, Suits, DirtyDozen, and 2-versions of LinkRings. There are also two solvers included called "bfs" (breadth-first-search), and "bfs_rush" that work for most bslider/rush puzzles. It expects a puzzle file name as input, and outputs a text file with a list of moves indicated as a block number and direction. Note that the (x)-key toggles the display of block numbers to enable following a solution generated by a solver.
To move a block, use the arrow keys. If the automatic block selector chooses the wrong block, simply click the cursor on the desired block before using the arrow key. Thusly, the games are laptop friendly.
Works on Macs running OS-X and PCs running GNU/Linux.
Features
- Uses SDL2;
- Works on OS-X Retina displays;
- Uses SFML for applause sound;
- all runtime files are in ./data/
- all game data files are in ./puzzles/
Build Requirements:
- a recent gcc compiler that supports -std=c++11;
- graphics card that supports OpenGL version 3.3 or later;
Build Instructions:
MacOSX:
ocmplls.sh:
static build script for generating a portable executable that will run on most OS-X platforms whether or not they have non-standard libraries such as GLEW, SDL2, SFML installed. I used this to build the OSX executables that I deliver named X_osxs. I have tested these on several Mac systems, and they seemed to work Ok. Ordinarily, this requires the addition of the following non-standard libraries or frameworks: SDL2, SFML, sndfile. However, I have included the static X.a files necessary to recompile under ./libLocal/osx_static/.
allosx.sh:
master script to build everything on OS-X
GNU/Linux:
lcmplld.sh:
utilizes the relocatable libraries that I deliver in this bundle under ./libLocal/. I use this to build the gnu/linux executables that I deliver, which have a good chance of running in the presence of ./libLocal, whether or not your system has the libraries in it. This was used to create the gnu/linux executables (any NOT marked X_osxs). If my delivered executables do not run on your linux system, then your only recourse is to try to build them yourself using this script. There are two uncommon external libraries needed: SDL2 and SFML, which I have included in ./libLocal/.
allgnu.sh:
master script to build everything on GNU/Linux.
bfs_cmp.sh: is a script that compiles either bfs or bfs_rush on any platform.
Running:
Unzip the archive and you will see a new directory appear with a name like bundle+date", that you should rename to something like install_directory.
Linux users should then cd to install_directory, then, at the command line, type "rufas_gnu" to access any game.
Mac users please note: this game is initiated by opening a terminal, navigating to the install_directory, and typing "rufas_osx" on the command line.
The install_directory should contain subdirectories named "data", "libLocal", "incLocal", "puzzles".
To move a block, use the arrow keys (up),(dn),(lf),(rt); If there is an ambiguity and the "automatic" selection mechanism chooses the wrong block to be moved, simply click on the desired block with the cursor before hitting a directional arrow. At any time, hit the letter (r) to reset/restart, or (esc) to quit.
For Rush, Bslider and DirtyDozen, you use the (n) key to go to the next puzzle, which in general is more difficult. The (p) key takes you to the previous puzzle.
Remember that (x) toggles block letters that allow you to follow solution instructions from one of the autosolvers.
Please send questions, comments or corrections to
fastrgv@gmail.com
Legal Mumbo Jumbo:
RufasSlider itself is covered by the GNU GPL v3 as indicated in the sources:
Copyright (C) 2015 fastrgv@gmail.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You may read the full text of the GNU General Public License at http://www.gnu.org/licenses/.
Media Files for RufasSlider:
General Note
The particular choice of sound file delivered is not essential to the function of the game and is easily replaced. This software is primarily intended as a tutorial example of modern OpenGL methods. The only requirements are that sounds be in WAV format.
SoundFile (small-applause.wav)
...are from freesound.org and is covered by the Creative Commons Attribution noncommercial license documented in the accompanying file creativeCommons.txt. See "small-applause.txt" for details and URL.
ImageFiles (x.png)
...for text-textures were created using gimp and are also covered by the GNU GPL v3 license. Thanks to unluckystudio.com [Sujit Kumar Yadav] for car sprites, whose colors I modified slightly with GIMP, and to OpenGameArt.org for the playing card symbols under a cc-by-3.0 license (see http://creativecommons.org/) uploaded there by IronStarMedia.co.uk
LodePNG (png loader module: lodepng.cpp lodepng.h)
are files copyrighted by Lode Vandevenne and so marked with all the details of their permitted uses near the tops of those two files.
Other Credits and Thanks:
Serhiy Grabarchuk and Peter Grabarchuk for their "Hole in One", "Hole in One plus 4", "Nine", and "Four Suits" puzzles.