aboutsummaryrefslogtreecommitdiff
path: root/unfinished (follow)
Commit message (Collapse)AuthorAge
* Forgot to add the new 'const' in the unfinished subdirectory. Oops.Simon Tatham2012-09-10
| | | | [originally from svn r9659]
* New puzzle! Or rather, new-ish, because this one has been lying aroundSimon Tatham2012-01-22
| | | | | | | | | | | | | in the 'unfinished' directory for a while, and has now been finished up thanks to James Harvey putting in some effort and galvanising me to put in the rest. This is 'Pearl', an implementation of Nikoli's 'Masyu'. The code in Loopy that generates a random loop along grid edges to use as the puzzle solution has been abstracted out into loopgen.[ch] so that Pearl can use it for its puzzle solutions too. I've also introduced a new utility module called 'tdq' (for 'to-do queue'). [originally from svn r9379]
* In Group, the keyboard-controlled cursor should respect userSimon Tatham2011-12-21
| | | | | | rearrangement of the rows and columns. [originally from svn r9372]
* Changed my mind about midend_is_solved: I've now reprototyped it asSimon Tatham2011-06-19
| | | | | | | | | | | | | | | | midend_status(), and given it three return codes for win, (permanent) loss and game-still-in-play. Depending on what the front end wants to use it for, it may find any or all of these three states worth distinguishing from each other. (I suppose a further enhancement might be to add _non_-permanent loss as a fourth distinct status, to describe situations in which you can't play further without pressing Undo but doing so is not completely pointless. That might reasonably include dead-end situations in Same Game and Pegs, and blown-self-up situations in Mines and Inertia. However, I haven't done this at present.) [originally from svn r9179]
* Fix warnings generated by gcc 4.6.0 about variables set but notSimon Tatham2011-05-04
| | | | | | | | | | thereafter read. Most of these changes are just removal of pointless stuff or trivial reorganisations; one change is actually substantive, and fixes a bug in Keen's clue selection (the variable 'bad' was unreferenced not because I shouldn't have set it, but because I _should_ have referenced it!). [originally from svn r9164]
* Add a function to every game backend which indicates whether a gameSimon Tatham2011-04-02
| | | | | | | | | | | state is in a solved position, and a midend function wrapping it. (Or, at least, a situation in which further play is pointless. The point is, given that game state, would it be a good idea for a front end that does that sort of thing to proactively provide the option to start a fresh game?) [originally from svn r9140]
* Another UI feature for Group: now you can click between two legendSimon Tatham2011-02-08
| | | | | | | | | | elements to toggle thick lines in the grid. Helps to delineate subgroups and cosets, so it's easier to remember what you can legitimately fill in by associativity. (I should really stop fiddling with this game's UI; it's far too silly.) [originally from svn r9084]
* Fix error highlighting after table rearrangement.Simon Tatham2011-01-09
| | | | [originally from svn r9076]
* Add the ability to reorder the rows and columns in Group. It becomesSimon Tatham2011-01-08
| | | | | | | | much easier to keep track of things if, once you've identified a cyclic subgroup, you can move it into a contiguous correctly ordered block. [originally from svn r9075]
* Memory leak fixes from Jonas Koelker.Simon Tatham2010-09-20
| | | | [originally from svn r9001]
* Some minor fixes to the unfinished Pearl solver:Simon Tatham2010-06-27
| | | | | | | | | - move critical correctness checks out of diagnostic ifdefs (ahem) - move declarations to before conditionally compiled code (we don't build in C99 mode round here) - tidy up an unsightly blank line while I'm here. [originally from svn r8969]
* Oops. Uncomment the difficulty exceptions! (Also add anotherSimon Tatham2010-01-09
| | | | | | constraint in validate_params.) [originally from svn r8824]
* Proof that check_errors() is sufficient.Simon Tatham2010-01-05
| | | | [originally from svn r8813]
* Refer to group elements by letters instead of numbers, in keepingSimon Tatham2010-01-05
| | | | | | | with usual abstract group notation. In puzzles with a clear identity, it's called e. [originally from svn r8812]
* Add an even more evil (!) game mode, in which it's not madeSimon Tatham2010-01-05
| | | | | | | | immediately obvious which element of the group is the identity - at least two elements including the identity have their rows and columns completely blanked. [originally from svn r8810]
* Yikes! Fix a misaimed 'sizeof' which I only got away with becauseSimon Tatham2010-01-05
| | | | | | ints and pointers are usually the same size. [originally from svn r8809]
* Couple of missing 'static's.Simon Tatham2010-01-01
| | | | [originally from svn r8801]
* New puzzle in 'unfinished'. Essentially, Sudoku for group theorists:Simon Tatham2009-12-30
| | | | | | | | | | | | | | | | | | you are given a partially specified Cayley table of a small finite group, and must fill in all the missing entries using both Sudoku- style deductions (minus the square block constraint) and the group axioms. I've just thrown it together in about five hours by cloning- and-hacking from Keen, as much as anything else to demonstrate that the new latin.c interface really does make it extremely easy to write new Latin square puzzles. It's not really _unfinished_, as such, but it is just too esoteric (not to mention difficult) for me to feel entirely comfortable with adding it to the main puzzle collection. I can't bring myself to throw it away, though, and who knows - perhaps a university maths department might find it a useful teaching tool :-) [originally from svn r8800]
* Bring the unfinished .R files into line with the current conventions.Simon Tatham2009-01-06
| | | | [originally from svn r8395]
* Patch from Lee Dowling to implement mouse control in Sokoban, alongSimon Tatham2008-11-16
| | | | | | pretty much the same lines as Cube and Inertia. [originally from svn r8301]
* Take out some lurking "nullgame" holdovers from unfinished puzzleSimon Tatham2008-11-16
| | | | | | source files, in case they cause trouble. Spotted by Lee Dowling. [originally from svn r8300]
* Since the lack of this has caused portability issues in the past:Simon Tatham2008-09-13
| | | | | | | add "-ansi -pedantic" to the main Unix makefile, and clean up a few minor problems pointed out thereby. [originally from svn r8175]
* New infrastructure feature. Games are now permitted to beSimon Tatham2008-09-06
| | | | | | | | | | | | | | | | | | | | | | _conditionally_ able to format the current puzzle as text to be sent to the clipboard. For instance, if a game were to support playing on a square grid and on other kinds of grid such as hexagonal, then it might reasonably feel that only the former could be sensibly rendered in ASCII art; so it can now arrange for the "Copy" menu item to be greyed out depending on the game_params. To do this I've introduced a new backend function (can_format_as_text_now()), and renamed the existing static backend field "can_format_as_text" to "can_format_as_text_ever". The latter will cause compile errors for anyone maintaining a third-party front end; if any such person is reading this, I apologise to them for the inconvenience, but I did do it deliberately so that they'd know to update their front end. As yet, no checked-in game actually uses this feature; all current games can still either copy always or copy never. [originally from svn r8161]
* Correction from James H: sqrt(0) shouldn't occur any more thanSimon Tatham2008-07-05
| | | | | | sqrt(1) should. [originally from svn r8108]
* More operations and bug fixes from James H.Simon Tatham2008-07-05
| | | | [originally from svn r8107]
* James H has helpfully provided yet more silly operators for the -ASimon Tatham2008-06-24
| | | | | | | mode. I think some user-defined ruleset configuration options are now required... [originally from svn r8092]
* An option to enable a debugging mode for the BFS.Simon Tatham2008-06-23
| | | | [originally from svn r8091]
* New -A mode permitting even madder operators, and also -m to try toSimon Tatham2008-06-09
| | | | | | | print all possible paths to a value. The latter has a lot of de-duplication left to be done, due to multiple evaluation orders. [originally from svn r8061]
* Substantial reworking of Solo so that it implements both Sudoku-XSimon Tatham2008-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | (require both main diagonals to have one of every digit in addition to all the usual constraints) and Jigsaw Sudoku (replace the array of rectangular sub-blocks with the sub-blocks being random polyominoes). To implement the latter, I've moved my `divvy.c' library routine out of the `unfinished' subdirectory. Jigsaw mode is currently an undocumented feature: you enable it by setting the rows parameter to 1 (and the columns parameter to your desired grid size, which unlike normal Sudoku can be anything you like including a prime number). The reason it's undocumented is because generation times are not yet reliably short: sometimes generating a jigsaw-type puzzle can hang for hours and still get nowhere. (The algorithm should terminate in principle, but not in any time you're prepared to wait.) I _think_ I know how to solve this, but have yet to try it. Until then, jigsaw mode will remain a hidden feature. Printing of X-type puzzles is also substandard at present, because the current print-colour API replaces the desired light shading of the X-cells with heavy diagonal hatching. I plan to adjust the API imminently to address this. [originally from svn r7974]
* A rigorous proof. Totally unimportant to the code, but I didn't wantSimon Tatham2007-08-25
| | | | | | to lose it :-) [originally from svn r7703]
* Fix an inaccurate comment.Simon Tatham2007-08-25
| | | | [originally from svn r7702]
* I've just realised that my deliberate avoidance of non-simplySimon Tatham2007-08-25
| | | | | | | | | connected polyominoes actually causes a loss of generality for sufficiently large k. I hadn't previously noticed, because you need k to be (I think) at least 23 and none of my potential applications require anything nearly that large. Add some discussion of this. [originally from svn r7701]
* Commit my work so far on a generator for Nikoli's `Block Puzzle'. ItSimon Tatham2007-08-25
| | | | | | | | | works, but it's slow, and the puzzles are currently at a relatively low level of difficulty. Also this is a generator only: no UI yet (because I'm waiting to see if I can make the generator practical before bothering to write the rest). [originally from svn r7700]
* Ahem. Finishing writing the comment _before_ checkin is generally sensible.Simon Tatham2007-08-18
| | | | [originally from svn r7694]
* Allow a 1-omino to be completely destroyed and recreated in anSimon Tatham2007-08-18
| | | | | | | | | | arbitrary unclaimed square. This cures the most common cause of generation failures (covering a large area in dominoes was the most difficult case, and would fail even if the large area was 1xn!); the failure rate is now sufficiently low under all circumstances I've found that I'm willing to just loop until I get a success. [originally from svn r7693]
* Better test-mode diagnostics.Simon Tatham2007-08-18
| | | | [originally from svn r7691]
* A piece of library code which constructs a random division of aSimon Tatham2007-08-18
| | | | | | | | rectangle into equally sized ominoes. I have a couple of potential applications for this, but none I've actually implemented yet, so for the moment it's living in `unfinished'. [originally from svn r7690]
* Optimiser placation.Simon Tatham2007-06-29
| | | | [originally from svn r7625]
* More forgiving selection of dragging targets.Simon Tatham2007-05-12
| | | | [originally from svn r7574]
* Graphics tweak: make the top-right and bottom-left corners ofSimon Tatham2007-05-12
| | | | | | everything look nicer. [originally from svn r7573]
* In-game user interface to the solver.Simon Tatham2007-05-12
| | | | [originally from svn r7572]
* Remove the check for disconnected pieces; it's over-general andSimon Tatham2007-05-12
| | | | | | triggers on a perfectly connected piece shaped like an inverted T. [originally from svn r7570]
* Stand-alone slidesolver.Simon Tatham2007-05-07
| | | | [originally from svn r7558]
* Add an optional move limit during game generation.Simon Tatham2007-05-07
| | | | [originally from svn r7554]
* Slight solver speedup by tracking more carefully which block mergesSimon Tatham2007-05-07
| | | | | | we've already tried, and not trying them again. [originally from svn r7553]
* Close-to-finished auto-generating implementation of Klotski.Simon Tatham2007-05-07
| | | | [originally from svn r7547]
* Remove spurious semicolons from macros; their upset compilers that don't likeJacob Nevins2007-02-22
| | | | | | | mixing declarations and code (I accidentally tried to compile it with one such). [originally from svn r7313]
* Bring .R files for nullgame and unfinished puzzles up to date with the rest ofJacob Nevins2006-12-29
| | | | | | the world (by adding icon support). [originally from svn r7038]
* HTML Help support for Puzzles, with the same kind of automaticSimon Tatham2006-12-24
| | | | | | fallback behaviour as PuTTY's support. [originally from svn r7009]
* I'm sick and tired of having unfinished puzzle code lying around onSimon Tatham2006-10-29
several different systems in strange directories. So I'm creating an `unfinished' directory within source control, and centralising all my half-finished, half-baked or otherwise half-arsed puzzle implementations into it. Herewith Sokoban (playable but rubbish generation), Pearl (Masyu - rubbish generation and nothing else), Path (Number Link - rubbish generation and nothing else) and NumGame (the Countdown numbers game - currently just a solver and not even a generator yet). [originally from svn r6883]