This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. If you've obtained the source code by downloading a .tar.gz archive from the Puzzles web site, you should find several Makefiles in the source code. However, if you've checked the source code out from the Puzzles git repository, you won't find the Makefiles: they're automatically generated by `mkfiles.pl', so run that to create them. The Makefiles include: - `Makefile.am', together with the static `configure.ac', is intended as input to automake. Run `mkauto.sh' to turn these into a configure script and Makefile.in, after which you can then run `./configure' to create an actual Unix Makefile. - `Makefile.vc' should work under MS Visual C++ on Windows. Run 'nmake /f Makefile.vc' in a Visual Studio command prompt. - `Makefile.cyg' should work under Cygwin / MinGW. With appropriate tweaks and setting of TOOLPATH, it should work for both compiling on Windows and cross-compiling on Unix. - `Makefile.osx' should work under Mac OS X, provided the Xcode tools are installed. It builds a single monolithic OS X application capable of running any of the puzzles, or even more than one of them at a time. - `Makefile.wce' should work under MS eMbedded Visual C++ on Windows and the Pocket PC SDK; it builds Pocket PC binaries. Many of these Makefiles build a program called `nullgame' in addition to the actual game binaries. This program doesn't do anything; it's just a template for people to start from when adding a new game to the collection, and it's compiled every time to ensure that it _does_ compile and link successfully (because otherwise it wouldn't be much use as a template). Once it's built, you can run it if you really want to (but it's very boring), and then you should ignore it. DO NOT EDIT THE MAKEFILES DIRECTLY, if you plan to send any changes back to the maintainer. The makefiles are generated automatically by the Perl script `mkfiles.pl' from the file `Recipe' and the various .R files. If you need to change the makefiles as part of a patch, you should change Recipe, *.R, and/or mkfiles.pl. The manual is provided in Windows Help format for the Windows build; in text format for anyone who needs it; and in HTML for the Mac OS X application and for the web site. It is generated from a Halibut source file (puzzles.but), which is the preferred form for modification. To generate the manual in other formats, rebuild it, or learn about Halibut, visit the Halibut website at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Android port of Simon Tatham's Puzzles. *git replace in use* - you might want to {{ git fetch origin 'refs/replace/*:refs/replace/*' }}
Overview
Comments
-
[Android] No such file or directory when starting a puzzle
Hi, I downloaded the apk from fdroid and when starting a puzzle I get this message:
Error /data/app/name.boyle.chris.sgtpuzzles-1/lib/arm/libpuzzlesgen-with-pie.so: open failes: ENOENT (No such file or directory)
Do I have to install additional packages?
-
Add zoom/pan controls
Currently the dimensions of puzzles are effectively limited by screen size and resolution: the puzzle is always scaled to fill the screen (minus titles/keyboard). Puzzles with more than, say, 20 grid squares on a side are usually impractical due to text readability.
This limitation could be removed with zoom/pan controls, as seen in other Android applications such as (to take a simple case) the image viewer. Ideally there would be kinetic panning (release finger while moving and the motion continues, with gradual deceleration).
Probably the hardest part of this is deciding what's a pan and what's a drag, and what's a right-mouse-button-drag (used in Map for example). I imagine it would be:
Action Result now Result when zoomed in tap left click left click immediate drag left-drag pan pause, drag right-drag left-drag double-length pause, drag right-drag right-drag That's not great if you want to right-drag a lot, but I don't see a better possibility without making things significantly less intuitive/cross-device-compatible.
feature -
Build problem
I'm trying to build (for f-droid FOSS repo) the latest tag (9eb7a40e5f) using platform tools v14. The error is /name.boyle.chris.sgtpuzzles/build.xml:41: Cannot find /home/gerry/android-sdk-linux/tools/ant/pre_setup.xml imported from /home/gerry/dabl8s-fdroiddata/build/name.boyle.chris.sgtpuzzles/build.xml
-
Action Bar improvements
As of 678ee429962bbe2a400f9b9d9a56ba55b246831f everyone has the action bar. I want to:
- Show as many actions as possible instead of the game title (like Google Docs).
- ...with better icons.
- If they won't all fit on the smallest common display, consider changing the default undo/redo placement to be keyboard rather than action bar. (Split action bar is too clunky.)
- On the home/up button which returns to the game chooser, show an icon for the collection/list instead of the icon of the current game.
- Show as many actions as possible instead of the game title (like Google Docs).
-
Improved readability ...
... of plaintext rendering of game for instructions
Ref for screenshots: https://github.com/chrisboyle/sgtpuzzles/issues/262#issuecomment-944471969
i was not able to test it since i dont have access to my android device. so, can someone please test the apk from this job and share their findings here??
-
After 3/24/2019 update libpuzzlesgen.so missing
Error message is:
/data/app/name.boyle.chris.sgtpuzzles-9s5EfEeJtmvmvcTEspBKRA==/lib/arm64/libpuzzlesgen.so (No such file or directory)
When choosing new game after having solved a game.
-
Do a beta
First, check that release builds are:
- entirely working
- providing sufficient debug information
- not unnecessarily obfuscated
- as small as they can reasonably be
Use Google Play's beta system, and publish an APK on my website for those who can't use that.
Notify bug reporters and friends who use the app.
-
Graphics problem on some tablets in landscape after OS update e.g. Asus Transformer Prime, Galaxy Tab 2, Motorola Xoom
Start Untangle, try to perform a move - screen redraws as if rows of pixels would be moved to the left as many pixels as the row index.
Doesn't happen on my Samsung Galaxy. Doesn't happen on the Transformer either in portrait mode, just in landscape mode - autorotation being on.
-
Puzzles melting
Beta 10264.1
Noticed in Signpost and Guess. The puzzle distorts as you slowly drag around the arrow/circle. I don't think it was happening before today's commits.
-
Saving puzzle type for all puzzles
Keeping the settings defining the current settings (including any custom settings) for all games as opposed to just the current game. You could also store the entire game state but that might get large, storing the settings would be great though.
feature -
Problem when specific density launcher icon is requested
Quote from #116:
Now all set up to build with your awesome new graphics at res/drawable-/logo{ab,launcher.png} (gitignored), and a drawable selector likewise ignored: copy res/drawable/ic__.xml to res/drawable-v7 (or other ignored path) and edit it to point at logo_* instead of net.
There's a problem with this method. I think I mentioned before that tablet launchers request the app icon with a higher density than the device default. Well regardless of what was requested, ic_app.xml is always going to return the default density icon, which will likely get stretched and look blurry.
I think the solution is to give the launcher PNGs a unique name for each density and have a corresponding ic_app.xml in each respective drawable- folder pointing directly to that one file.
-
Untangle
On the untangle puzzle, I would love to see a count of how many lines are crossed and a countdown to zero as you move the lines around to solve the puzzle.
feature -
Dark mode instruction wording
Instructions should be adjusted so that they do not misdirect in dark mode. (Here the black squares are the squares referred to as non-black in the instructions)
-
Start generating next game before finishing the current one
Some of the puzzles, like galaxies, take a long time to generate.
I would like a setting to allow pregeneration of the next game before finishing the current one, giving the user the ability to disable it if they choose.
Thanks for the amazing app, really enjoying it.
feature -
Option to check correctness of partially solved puzzle
I imagine this feature to be similar to "show solution" (as in a button relevant to most/all puzzles), except instead of showing the solution, somehow indicate to the user either:
-all of the partially filled in grid is correct so far -at least one thing is incorrect
Basically I emulate this functionally by repeatedly showing the solution, then undoing, and compare (with my eyes) my partially filled puzzle with the solution
feature -
New game: normal/unboxed sudoku i.e. without sub-blocks?
Is your feature request related to a problem? To play the game of sudoku but without the constraint of sub-blocks (those 3x3 boxes in the 9x9 main grid)
Describe the solution you'd like Add a new game
Describe alternatives you've considered
- (i considered) Adding this capability in the existing game of solo,
- but seeing the "custom game generation/configuration" panel for solo, it seems to me that the current implementation of solo is centered around the sub-blocks
- or maybe it's just that custom config panel, i don't know
https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/solo
Additional context #564 will become super easy after this
feature -
Range: grey out numbers on tap or completion
When playing Range with extremely large custom maps, I end up losing track of which numbers are already completed. Being able to grey out numbers by tapping on them makes it easier to keep an overview. This could be implemented similarly to the numbers in magnets. Tapping them once greys them out, tapping again brings it back to the usual color. An optional addition could be that the number greys out by itself once it is surrounded on four sides by blocks.
feature
Releases(2022-05-21-1809-c43a34fb)
-
2022-05-21-1809-c43a34fb(May 20, 2022)
Released to open beta on Google Play:
- Mark-all button is now optional
- Fix glitches when cancelling long-running game generation
- Chrome OS compatibility tweaks
- Other minor UI improvements
Source code(zip)
SGTPuzzles-2022-05-21-1809-c43a34fb.apk(7.33 MB)
SGTPuzzles-2022-05-21-1809-c43a34fb.apk.asc(833 bytes)
-
2022-04-30-1100-c43a34fb(Apr 30, 2022)
Released to Google Play (production and beta):
- Fix #538 that was causing crashes for Turkish users
Source code(zip)
SGTPuzzles-2022-04-30-1100-c43a34fb.apk(7.52 MB)
SGTPuzzles-2022-04-30-1100-c43a34fb.apk.asc.pgp(833 bytes)
-
2022-04-28-2030-c43a34fb(Apr 28, 2022)
Released to open beta on Google Play:
- Stop buttons disappearing when a Bluetooth media controller is connected
- Improve controls reminder text in Guess
- Stability improvements
- Android 13: add optional monochrome launcher icon
Source code(zip)
SGTPuzzles-2022-04-28-2030-c43a34fb.apk(7.52 MB)
SGTPuzzles-2022-04-28-2030-c43a34fb.apk.asc(833 bytes)
-
2022-04-26-0739-c43a34fb(Apr 26, 2022)
Released to Google Play (including previous beta testers):
- Custom game dialog: fix tiny touch targets e.g. dropdowns
- Keyboard layout: fix lone 9 in many situations
- Night mode: chooser now has dark game icons
- Night mode: use a dark background when scrolling beyond cached bitmap
- Feedback dialog: add copyable version number
Source code(zip)
SGTPuzzles-2022-04-26-0739-c43a34fb.apk(7.40 MB)
SGTPuzzles-2022-04-26-0739-c43a34fb.apk.asc(833 bytes)
-
2022-04-20-2331-c43a34fb(Apr 20, 2022)
Released to open beta on Google Play:
- Fix opening puzzle files from modern file managers
- Fix another rare crash
- Behind the scenes: reduce use of threading, to improve stability
Source code(zip)
SGTPuzzles-2022-04-20-2331-c43a34fb.apk(5.36 MB)
SGTPuzzles-2022-04-20-2331-c43a34fb.apk.asc(833 bytes)
-
2022-04-14-1623-c43a34fb(Apr 14, 2022)
Released to open beta on Google Play:
- Drop storage permission: please shout if your file manager won't launch puzzle files now
- Night mode on/off can now be set to match system dark theme
- Swapping of width/height to match screen space is now optional
- Stop keyboard buttons activating when touching off edge of keyboard
- Fix a rare crash when saving
- "Fling" velocity while zoomed in is now more consistent
- Black Box: allow reveal while L/R swapped
- Solo: fix a spin on tiny Jigsaw games
- Settings screen visual improvements (thanks @TacoTheDank)
Source code(zip)
SGTPuzzles-2022-04-14-1623-c43a34fb.apk(5.36 MB)
SGTPuzzles-2022-04-14-1623-c43a34fb.apk.asc(833 bytes)
-
2022-04-07-1832-c43a34fb(Apr 7, 2022)
Released to open beta on Google Play:
- New game: Mosaic (thanks @kohend)
- Allow using S Pen button as 'right click' modifier (thanks @omgitsraven)
- Automatically scroll to follow cursor when zoomed in
- Dominosa: added difficulty levels
- Fifteen: added presets
- Solo: improved UI around custom Jigsaw mode
- Now requires Android 4.4 or above
- Removed Beam which no longer worked on modern devices
- Other minor bug fixes and behind-the-scenes improvements
Source code(zip)
SGTPuzzles-2022-04-07-1832-c43a34fb.apk(5.11 MB)
SGTPuzzles-2022-04-07-1832-c43a34fb.apk.asc(833 bytes)
-
2019-03-26-0844-68363231(Mar 26, 2019)
- Fix pencil mode in Unequal
- Allow greying numbers with long press (previously short only) in Magnets, Towers, Undead
Source code(zip)
SGTPuzzles-2019-03-26-0844-68363231.apk(4.75 MB)
SGTPuzzles-2019-03-26-0844-68363231.apk.asc(833 bytes)
-
2019-03-25-1016-68363231(Mar 25, 2019)
- 10:16 update: hopefully fix startup crashes on all games due to Android App Bundle issues
- Fix crashes in Keen, Loopy, Solo, Towers, Undead, Unequal
- Prevent undo/redo across new-game boundary when buttons held down; explanatory Toast
- Improve auto-orientation of games e.g. in split screen, thanks Phil Tunstall
- Improve highlight/cursor colours in Dominosa (thanks olicht) and Tracks
Source code(zip)
-
2018-10-27-1350-f281644b(Oct 31, 2018)
- Better stylus/mouse support by Danielle Church
- Limited undo of New Game etc.
- Option to disable victory flashes
- Fix completion detection in some modes of Solo
- Prevent some unsolvable custom games of Cube
- Other minor fixes listed at https://goo.gl/zV71cu
- Backstage improvements for compatibility with modern versions of Android
- Now requires Android 4.1 (Jelly Bean) or higher
- Smaller download size (via Play only, due to App Bundle)
Source code(zip)
SGTPuzzles-2018-10-27-1350-f281644b.apk(4.78 MB)
SGTPuzzles-2018-10-27-1350-f281644b.apk.asc(801 bytes)
-
2016-12-25-0849-0b34887(Dec 25, 2016)
- Restore brighter colours in Map
- This was the last release to support Android versions lower than 4.1 (Jelly Bean).
Source code(zip)
SGTPuzzles-2016-12-25-0849-0b34887.apk(6.57 MB)
SGTPuzzles-2016-12-25-0849-0b34887.apk.asc(801 bytes)
-
2016-12-24-1933-0b34887(Dec 24, 2016)
- Fixed Tracks completion logic.
- Improved Mines controls w/swap: can still tap number to uncover.
- Made Light Up presets avoid offensive shape. If you still have one in progress, hit New Game.
- Palisade & Singles controls: cycle yes/no/maybe.
- Fixed some minimum sizes.
- Requires 2.3.3 due to Support Library.
- Fix metadata preventing installation on 2.x.
More details: https://goo.gl/Dg5ioT
Source code(tar.gz)
Source code(zip)
-
2016-01-13-0847-1d9d6cb(Jan 13, 2016)
More controls fixes.
Source code(tar.gz)
Source code(zip)
-
2016-01-11-0010-d295a8a(Jan 11, 2016)
Fix Filling controls
Source code(tar.gz)
Source code(zip)
-
2016-01-10-2047-d295a8a(Jan 10, 2016)
- New game: Palisade (~Loopy meets Filling)
- Highlight digits in Dominosa
- Menus can no longer be accidentally activated by dragging down
- Timer (in Mines) no longer runs while paused.
- Fix Android 6.0 failure to load from SD
- Fix long press in Bridges
- Fix missing completion dialogs in Cube & Fifteen
- Fix 3x3 Galaxies starting already solved
- Improvements to controls reminders
- Improved night mode in Keen & Towers
- Allow resetting game type when game generation is stuck on slow settings
Source code(zip)
-
2015-09-10-2219-eda5a86(Sep 11, 2015)
- Compatible with Android 6.0 (Marshmallow).
- Storage permission will be asked only when needed, which is when you open a puzzle file starting from an out-of-date file manager.
- More tweaks to night colours, fixing missing flash in several games.
- Fix handling of file extensions.
Source code(zip)
- Compatible with Android 6.0 (Marshmallow).
-
2015-08-17-1251-dd9e24a(Aug 17, 2015)
- Improve night colours in Signpost, Loopy, Map (day as well).
- Fix bug where swap-L-R button + new game = 2 left buttons.
- Clarify Net description on chooser.
Source code(zip)
-
2015-07-30-0801-5e1c335(Jul 30, 2015)
Fix crash on x86-based devices (see #298).
Source code(tar.gz)
Source code(zip)
-
2015-07-29-2043-5e1c335(Jul 29, 2015)
Stop showing "swapped press/long-press" toast after a few times. Better message on "completing" Flood in too many moves. Built with bundled NDK 1.0.0.
Source code(tar.gz)
Source code(zip)
-
2015-07-26-0902-5e1c335(Jul 26, 2015)
Add a switch to swap press and long-press. Make semi-solve button in Unequal optional. Fix cursor leaving trails in Loopy. Fix possible race condition reopening a completed game. Include current game state when sending feedback to developer.
Source code(tar.gz)
Source code(zip)
-
2015-07-19-1841-5e1c335(Jul 19, 2015)
Add button in Solo to fill in all pencil marks. Fix disappearing icons in game chooser. Fix disappearing keyboard buttons on Android 2.x. Night mode improvements in Help viewer. Hide buttons for follow-solution in Inertia and backspace in Guess when not relevant.
Source code(tar.gz)
Source code(zip)
-
2015-07-10-2308-aa1a937(Jul 10, 2015)
Fix a few more reported crashes.
Source code(tar.gz)
Source code(zip)
-
2015-07-09-2106-aa1a937(Jul 9, 2015)
Fix crashes on startup on some devices. Add missing H key in Unequal. Explain absence of seed when generated from Game ID. Fix scrolling edge effects.
Source code(tar.gz)
Source code(zip)
-
2015-07-08-2318-aa1a937(Jul 8, 2015)
Line thickness boost is now less extreme, diminishes with puzzle size (fixes large games), and can be disabled entirely by an option. Fix crash on Game ID dialog. Fix "done-ness" of clues not being rendered on first draw. Reinstate ability to deselect square by tapping outside the board on Towers/Undead. Tweaked night mode colours. Tidied up Settings a bit. Option to show edges of keys.
Source code(tar.gz)
Source code(zip)
-
2015-07-06-0652-aa1a937(Jul 6, 2015)
Fix redrawing of Undead 'done' clues after a resize. Fix completion rules in Inertia. Fix hiding of completion time in Mines.
Source code(tar.gz)
Source code(zip)
-
2015-07-02-0709-f306b9d(Jul 2, 2015)
You can mark clues as done in Magnets (as well as Undead). Update to latest Action Bar & keyboard styles. Make Settings available from chooser. Warn when loading/beam-receiving will lose an unfinished game. Fix some graphics glitches (Signpost, Untangle). Add a delay to auto night mode to prevent flickering. Add hint about night mode on first few uses. Improve Solo Killer night mode legibility.
Source code(tar.gz)
Source code(zip)
-
2015-06-06-2107-6bbfa6f(Jul 2, 2015)
2 new puzzles: Flood & Tracks. Night mode, automatic in low light (there's a setting for it). Please email me your thoughts on this in particular. Much more readable graphics (e.g. thicker lines in Net) - scaled by density. Fix completion popup in Black Box.
Source code(tar.gz)
Source code(zip)
-
2014-11-09-1643-4a8edc6(Jul 9, 2015)
Cope with null intent/action in NFC. And a couple of speculative defenses for #228.
Source code(tar.gz)
Source code(zip)
-
2014-11-07-0016-4a8edc(Jul 9, 2015)
Android 4.0+ NFC: just hold devices back to back to Beam a puzzle. Android 4.4+: load/save to Google Drive etc. (to see your SD card, try the top-right menu on that screen, Settings, Enable advanced devices, then tap icon in top left). Added a Share button (all devices). Fix regression on hardware keyboards. Fix action bar icons glitch on chooser. Fix a spin with certain corrupt save files. Allow install on some devices without a touch screen.
Source code(tar.gz)
Source code(zip)
-
2014-10-31-1416-4a8edc6(Jul 9, 2015)
Fix image skewing on Android 4.1 tablets in landscape. Fix undo/redo animation & keyboard control. Fix crash in Unruly Custom dialog. Fix error highlighting of closed subgraphs in Bridges. (New version numbering because Simon's using git now.)
Source code(tar.gz)
Source code(zip)
Elektronika - is a replica of an old Soviet watch - electronics, that might be uses on Android watch now)
Elektronika Elektronika - it's a sample project that shows how to create watch face for Android WearOS. Elektronika based on Google WatchFace Sample,
My attempt at completing Advent of Code for the first time, might also learn Kotlin while doing so.
AdventOfCode2021 Welcome to the Advent of Code1 Kotlin project created by debskipawel using the Advent of Code Kotlin Template delivered by JetBrains.
My solutions for Advent of Code 2021 puzzles, mainly using Kotlin.
Advent of Code 2021 Featuring Kotlin What's that ? https://adventofcode.com/2021/about Advent of Code is an Advent calendar of small programming puzzl
🎄 Advent of Code puzzles solved live on Twitch! 🎄
Kotlin-AOC-2021 Welcome to the Advent of Code1 Kotlin project created by Stuie using the Advent of Code Kotlin Template delivered by JetBrains. In thi
Visualizing some advent of code puzzles using Jetpack compose for web
AdventOfCodeComposeWeb Visualizing some advent of code puzzles using Jetpack com
A movie application where you can search a movie that you want and see the detail of movie
MovieApp This is a simple movie application where you can search a movie that you want and see the detail of movie Technologies Hilt (Dependency Injec
A simple and minimal app to track how long you've been sober from anything you want.
Sobriety A simple and minimal app to track how long you've been sober from anything you want. I mostly designed this out of spite for "I Am Sober", wh
A digital wellbeing Android app that helps minimise distractions when you don't want them
Bundel is a digital wellbeing Android app, helping you to focus by grouping up notifications and only releasing them in batches, at set times. This minimises context switching and improves productivity, while decreasing the impulse to continuously check your phone.
This libre software app keeps track of things you do NOT want to do.
The reverse to-do list
Find your ideal fitness partners according to your preferences and interact with them whenever you want! All this with no hassle, because there's FitMate! Take timed challenges updated daily, read blogs related to health, and be a part of numerous communities too! During covid times, partner with your FitMate to achieve your fitness goals at home.
FitMate Do you feel lazy and uninterested when there’s no one for you to work out with? Do you fail to keep a track of your workouts and need guidance
Xposed module which will set location where you want without effect mock location.
GPS Setter Support/Discussion: XDA thread As most of GPS spoof app not working anymore coz some are old and some are not proper implement with current
ArchGuard Scanner for scan Git change history, scan source code by Chapi for Java, TypeScript, Kotlin, Go..、Java bytecode use for JVM languages, scan Jacoco test coverage.
Arch Scanner Requirements: JDK 12 Scanner: scan_git - Git commit history scan scan_jacoco - Jacoco scan scan_bytecode - for JVM languages known issues
MovieLibrary -An android application which uses tmdb API to fetch the data for various movies and TV Shows
MovieLibrary -An android application which uses tmdb API to fetch the data for various movies and TV Shows
Newesy is news app which uses NewsAPI to fetch news.
Newesy is news app which uses NewsAPI to fetch news.The main aim of this app was to learn Modern Android Architecture (MVVM).It uses MVVM,Kotlin-coroutines,Room,ViewModal,Retrofit,GSON and Navigation graph
Weatherapp: a simple weather forecast app, which uses some APIs to fetch 5 day / 3 hour forecast data from the OpenWeatherMap
Weatherapp Weatherapp is a simple weather forecast app, which uses some APIs to
WeatherInfo - A simple weather forecast app Using OpenWeatherMap API to fetch current weather and next 38 hour forecast weather data
WeatherInfo WeatherInfo is a simple weather forecast app Using OpenWeatherMap AP
An app to fetch a random user and display the results on UI
An app to fetch a random user and display the results on UI
The implementation of https://dribbble.com/shots/2067564-Replace
FlyRefresh The Android implementation of Replace, designed by Zee Youn. I implement this as a FlyRefresh layout. The content of the layout can be any
Git history is an android application that simply tracks GitHub repository's issues.
Git History About Git history is an android application that simply tracks GitHub repository's issues. You can search for user and get all public repo