aboutsummaryrefslogtreecommitdiff
path: root/puzzles.but (follow)
Commit message (Collapse)AuthorAge
...
* New puzzle: `Slant', picked from the Japanese-language section ofSimon Tatham2005-08-02
| | | | | | | | | | | nikoli.co.jp (which has quite a few puzzles that they don't seem to have bothered to translate into English). Minor structural change: the disjoint set forest code used in the Net solver has come in handy again, so I've moved it out into its own module dsf.c. [originally from svn r6155]
* New end-game approach to Black Box. Instead of revealing the ballSimon Tatham2005-07-31
| | | | | | | | | | | positions immediately when you make an error, the game now reveals as little information as is necessary to prove you wrong (including none - if an existing laser path you know about is inconsistent with your guesses, the game will just point it out and tell you nothing new!) and you can try again. Errors are counted in much the same way as deaths in Mines. [originally from svn r6152]
* Until now, Same Game has been the only puzzle in this collectionSimon Tatham2005-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | which is unable to guarantee that every grid it generates can be solved. So I'm eliminating that exception: this checkin contains a more sophisticated grid generator which does guarantee solubility. It's a bit slow (most noticeably on the 15x10c3 preset), and the quality of the generated grids is slightly weird (a tendency toward small regions rather than large sweeping areas of contiguous colour); however, I'm willing to see the latter as a feature for now, since making the game more challenging while simultaneously guaranteeing it to be possible sounds like an all-round win to me. From now on I'm raising my standards for contributions to this collection. I made this fix to Same Game because I heard a user _automatically assume_ that any puzzle in my collection would not be so uncouth as to generate an impossible grid; as of this checkin that's actually true, and I intend to maintain that standard of quality henceforth. (Guaranteeing a _unique_ solution is more of an optional extra, since there are many games for which it isn't a meaningful concept or isn't particularly desirable. Which is not to say that _some_ games wouldn't be of unacceptably low quality if they failed to guarantee uniqueness; it depends on the game.) [originally from svn r6124]
* Sync with websiteJacob Nevins2005-07-20
| | | | [originally from svn r6122]
* Some attempt to explain Dominosa for those unfamiliar with dominos. (Not sureJacob Nevins2005-07-19
| | | | | | I've succeeded.) [originally from svn r6120]
* Black Box: fix "reveal" button location, explain what's meant by theJacob Nevins2005-07-17
| | | | | | `firing range' [originally from svn r6105]
* Use \q{} and \by in Black Box docs.Jacob Nevins2005-07-17
| | | | [originally from svn r6104]
* Another game from James H: `Black Box'.Simon Tatham2005-07-17
| | | | [originally from svn r6100]
* New puzzle: `Untangle', cloned (with the addition of random gridSimon Tatham2005-07-16
| | | | | | | | | | | | | | | generation) from a simple but rather fun Flash game I saw this morning. Small infrastructure change for this puzzle: while most game backends find the midend's assumption that Solve moves are never animated to be a convenience absolving them of having to handle the special case themselves, this one actually needs Solve to be animated. Rather than break that convenience for the other puzzles, I've introduced a flag bit (which I've shoved in mouse_priorities for the moment, shamefully without changing its name). [originally from svn r6097]
* New puzzle: Dominosa.Simon Tatham2005-07-14
| | | | [originally from svn r6091]
* Some patches from James H:Simon Tatham2005-07-06
| | | | | | | | | | | | | | - reinstate the initialisation of ds->w and ds->h in guess.c, which I'd accidentally removed during game_size() refactoring - reorganise Net's interpret_move() so that my uncommitted patch for drag-based UI (which he uses on the Palm port) will apply more easily - the interpret_move() changes make it easy to have a single move type which rotates a tile by 180 degrees, so this is now provided via the `F' key (but there's no spare button available to provide it via the mouse). [originally from svn r6070]
* It's been a new year for a while now.Jacob Nevins2005-07-05
| | | | [originally from svn r6065]
* Clarify that diagonal moves are not permitted in Pegs.Jacob Nevins2005-07-04
| | | | [originally from svn r6057]
* Documentation for Pegs.Simon Tatham2005-07-04
| | | | [originally from svn r6053]
* Document keyboard controls for FlipJacob Nevins2005-07-04
| | | | [originally from svn r6051]
* Load and Save are now supported on all three desktop platforms, andSimon Tatham2005-06-30
| | | | | | | documented. (This means the GTK temporary dependency on an environment variable is now gone.) [originally from svn r6042]
* Make peg removal accessible from the keyboard.Jacob Nevins2005-06-28
| | | | [originally from svn r6032]
* Further additions to the Guess docs.Jacob Nevins2005-06-25
| | | | [originally from svn r6014]
* Make the `hold marker' in Guess accessible from the keyboard (`H' key, for wantJacob Nevins2005-06-23
| | | | | | of a better idea). [originally from svn r6004]
* Factual and other corrections/additions to the Guess docs.Jacob Nevins2005-06-23
| | | | [originally from svn r6003]
* Credit James Harvey.Simon Tatham2005-06-23
| | | | [originally from svn r6000]
* James Harvey's extensions to Guess: a couple of extra game settingsSimon Tatham2005-06-23
| | | | | | plus a manual chapter. [originally from svn r5999]
* I've decided I didn't like the asymmetry of putting the solutionSimon Tatham2005-06-18
| | | | | | markers in the top left of the square. [originally from svn r5974]
* Correct rogue chapter into a subheading.Simon Tatham2005-06-17
| | | | [originally from svn r5972]
* Solver for Flip.Simon Tatham2005-06-17
| | | | [originally from svn r5970]
* Another new puzzle! This one isn't particularly deep or complexSimon Tatham2005-06-17
| | | | | | | | | (solving it only requires matrix inversion over GF(2), whereas several of the other puzzles in this collection are NP-complete in principle), but it's a fun enough thing to play with and is non-trivial to do in your head - especially on the hardest preset. [originally from svn r5967]
* Tweaks and more complete documentation for Same Game.Jacob Nevins2005-06-07
| | | | [originally from svn r5922]
* James Harvey has contributed an implementation of `Same Game', alsoSimon Tatham2005-06-07
| | | | | | known as ksame (KDE) and Same GNOME (GNOME). [originally from svn r5914]
* Now _this_ is what Undo ought to be doing in a Minesweeper clone.Simon Tatham2005-05-31
| | | | | | | | | | | | | | | | | Rather than revealing the entire mine layout when you die, we now only reveal the one mine that killed you. You can then Undo and continue playing, without having spoiled the rest of the grid for yourself. The number of times you've died is counted in the status line (and is not reduced by Undo :-). Amusingly, I think this in itself is quite a good way of dealing with ambiguous sections in a Minesweeper grid: they no longer _completely_ spoil your enjoyment of the game, because you can still play the remainder of the grid even if you haven't got a completely clean sweep. Just my luck that I should invent the idea when I've already arranged for ambiguous sections to be absent :-) [originally from svn r5886]
* Document the mouse control method for Cube.Jacob Nevins2005-05-31
| | | | [originally from svn r5879]
* Neat idea from Gareth: if you put a % on the end of the mine countSimon Tatham2005-05-30
| | | | | | in the Custom dialog box, it'll treat it as a mine density. [originally from svn r5861]
* Initial checkin of my Minesweeper clone, which uses a solver duringSimon Tatham2005-05-30
| | | | | | grid generation to arrange a mine layout that never requires guessing. [originally from svn r5859]
* Add a limited-shuffle mode like that added to Sixteen and Twiddle in r5769,Jacob Nevins2005-05-28
| | | | | | | for completeness. [originally from svn r5854] [r5769 == 8f1c713735316422cfe041400ccc49999d563d8b]
* Add origin-shifting (Shift+cursors) and source-shifting (Ctrl+cursors) to Net.Jacob Nevins2005-05-26
| | | | | | | | | | | | (Adding modifier+cursors handling has had minor knock-on effects on the other puzzles, so that they can continue to ignore modifiers.) (An unfortunate side effect of this is some artifacts in exterior barrier drawing; notably, a disconnected corner can now appear at the corner of the grid under some circumstances. I haven't found a satisfactory way round this yet.) [originally from svn r5844]
* Support for `pencil marks' in Solo, by right-clicking and typing aSimon Tatham2005-05-25
| | | | | | | number. Many thanks to Chris Thomas, for helping with the detailed UI design by means of testing an endless series of prototypes. [originally from svn r5842]
* Mention NetWalk and update commentJacob Nevins2005-05-24
| | | | [originally from svn r5841]
* Cleanups:Simon Tatham2005-05-21
| | | | | | | | | - fix documentation of Net's unique solution option (should have tested before last checkin) - make unique solutions optional in Rectangles too (same reasons) - tidy up various issues in parameter encoding in both games. [originally from svn r5818]
* Solution uniqueness for Net. Can be disabled on request (but isSimon Tatham2005-05-21
| | | | | | | | enabled by default), since ambiguous sections in grids can present additional interesting challenges. I think uniqueness is a better default, though. [originally from svn r5816]
* Cunning way to ensure unique solutions in generated RectanglesSimon Tatham2005-05-19
| | | | | | | | | | | | | | | | | puzzles. I generate the grid of rectangles as normal, but before I place the numbers I run it through a non-deterministic solver algorithm which tries to do as much as it can with as little information about where the numbers are going to be. The solver itself narrows down the number placement when it runs out of steam, but does so as little as possible. Once it reaches a state where it has ensured solubility, and then the generation algorithm chooses random number placement from whatever's left. Occasionally it paints itself into a corner and can't ensure a unique solution no matter what happens; in that situation we just have to give up, generate a fresh grid, and try again. [originally from svn r5809]
* Update doc for recent changes in Restart behaviour.Jacob Nevins2005-05-17
| | | | [originally from svn r5799]
* The game IDs for Net (and Netslide) have always been random seedsSimon Tatham2005-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rather than literal grid descriptions, which has always faintly annoyed me because it makes it impossible to type in a grid from another source. However, Gareth pointed out that short random-seed game descriptions are useful, because you can read one out to someone else without having to master the technology of cross- machine cut and paste, or you can have two people enter the same random seed simultaneously in order to race against each other to complete the same puzzle. So both types of game ID seem to have their uses. Therefore, here's a reorganisation of the whole game ID concept. There are now two types of game ID: one has a parameter string then a hash then a piece of arbitrary random seed text, and the other has a parameter string then a colon then a literal game description. For most games, the latter is identical to the game IDs that were previously valid; for Net and Netslide, old game IDs must be translated into new ones by turning the colon into a hash, and there's a new descriptive game ID format. Random seed IDs are not guaranteed to be portable between software versions (this is a major reason why I added version reporting yesterday). Descriptive game IDs have a longer lifespan. As an added bonus, I've removed the sections of documentation dealing with game parameter encodings not shown in the game ID (Rectangles expansion factor, Solo symmetry and difficulty settings etc), because _all_ parameters must be specified in a random seed ID and therefore users can easily find out the appropriate parameter string for any settings they have configured. [originally from svn r5788]
* The two Rubik-like puzzles, Sixteen and Twiddle, now support anSimon Tatham2005-05-11
| | | | | | | | | | | | | additional configuration parameter, which is the number of shuffle moves. By default the grid will be fully shuffled so that you need a general solution algorithm to untangle it, but if you prefer you can request a grid which has had (say) precisely four moves made on it, and then attempt to exactly reverse those four moves. Currently this feature is only available from the Custom box, and not in any presets. [originally from svn r5769]
* Aha, here's a nice easy way to generate really hard puzzles. AddedSimon Tatham2005-05-07
| | | | | | | | | | the missing fifth difficulty level to Solo: `Unreasonable', in which even set-based reasoning is insufficient and there's no alternative but to guess a number and backtrack if it didn't work. (Solutions are still guaranteed unique, however.) In fact it now seems to take less time to generate a puzzle of this grade than `Advanced'! [originally from svn r5756]
* markup typoJacob Nevins2005-05-04
| | | | [originally from svn r5739]
* Forgot to mention that you can undo a Solve operation.Simon Tatham2005-05-02
| | | | [originally from svn r5734]
* Added an automatic `Solve' feature to most games. This is useful forSimon Tatham2005-05-02
| | | | | | | | | | | | | | | | various things: - if you haven't fully understood what a game is about, it gives you an immediate example of a puzzle plus its solution so you can understand it - in some games it's useful to compare your solution with the real one and see where you made a mistake - in the rearrangement games (Fifteen, Sixteen, Twiddle) it's handy to be able to get your hands on a pristine grid quickly so you can practise or experiment with manoeuvres on it - it provides a good way of debugging the games if you think you've encountered an unsolvable grid! [originally from svn r5731]
* The addition of a `Copy' menu item on OS X was really beginning toSimon Tatham2005-05-01
| | | | | | | strain my unconventional menu organisation, so I've reverted to having `File' and `Edit' menus like everyone else. [originally from svn r5727]
* After brainstorming with Gareth, we've decided that this is a muchSimon Tatham2005-04-30
| | | | | | | simpler and better way to indicate tile orientation than those colour bars. [originally from svn r5717]
* Twiddle now has an additional mode in which tile orientationSimon Tatham2005-04-30
| | | | | | | matters. This mode is hard enough to scare the wossnames out of me, but that's no reason not to put it in anyway! [originally from svn r5713]
* New puzzle: `twiddle', generalised from a random door-unlockingSimon Tatham2005-04-30
| | | | | | gadget in Metroid Prime 2. [originally from svn r5708]