Simon Tatham's Portable Puzzle Collection

Related tags

Games puzzles
Overview
This is the README accompanying the source code to Simon Tatham's
puzzle collection. The collection's web site is at
<http://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 Subversion repository, you won't find the Makefiles: they're
automatically generated by `mkfiles.pl', so run that to create them.

The Makefiles include:

 - `Makefile' should work under GNU make on Linux, provided you have
   GTK installed to compile and link against. It builds GTK binaries
   of the puzzle games.

 - `Makefile.vc' should work under MS Visual C++ on Windows.

 - `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
<http://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Comments
  • File missing in Xcode 4.6.1

    File missing in Xcode 4.6.1

    Tried to run the Puzzles.xcodeproj in Xcode 4.6.1 but it failed - missing file 'list.c'. Is the file required or is it indicating it doesn't work in this version of Xcode?

    opened by Talie 3
  • Fix iOS 14 crash and add dark mode support

    Fix iOS 14 crash and add dark mode support

    This has several different pieces, let me know if you'd prefer I split it into several PRs. Also, I know the diff looks big but most of that is just removing the PSTCollectionView files. The actual substance is less than a score of lines.

    The app currently crashes on iOS 14 due to an assertion in UICollectionView that registered cell classes are subclasses of UICollectionViewCell. The class in question, GameListViewCell, is in fact a subclasses of PSUICollectionViewCell, which indeed does not inherit from UICollectionViewCell. Changing the superclass of GameListViewCell to UICollectionViewCell fixes the crash with no apparent side effects—as expected of an "API-compatible replacement" for UICollectionView.

    Since the PSTCollectionView library is only a compatibility layer for iOS versions before 6, it is no longer needed. Changing the other couple references to it to their UIKit counterparts also appears to have no side effects, and allows us to remove the library altogether.

    Additionally, when built for iOS 13+ and run in dark mode, text on the game list is white-on-white, and the status bar text is white on light gray, not great contrast. I have included basic dark mode support, adopting a system color that updates automatically based on dark mode state for the game list cell background, and forcing the game status bar text to remain black. One could go further, changing the bar tint colors or perhaps even the game color lists, but I'm not a designer and this is good enough.

    opened by k-natt 1
  • Add an Erase action to Undead

    Add an Erase action to Undead

    When playing Undead, it's nice to be able to remove a mark you made, but not the one you just made (which can be removed with undo). In the desktop version, you do this by typing space.

    I've tested this in the iOS simulator, but I don't have an iOS developer account, so I couldn't test it on actual hardware.

    opened by gmacon 1
  • Use safe area in game view

    Use safe area in game view

    In version 1.3.1, the toolbar appears under the home bar for devices without a home button, making them difficult to press (this regression was caused by the SDK update). This PR updates the game view to account for the "safe area".

    On my iPhone XS (iOS 14.0), before:

    After:

    On the "iPad Pro (12.9-inch) (3rd generation)" simulator (iOS 13.3), before:

    After:

    opened by Coder-256 0
  • several pushes of unsolve needed

    several pushes of unsolve needed

    Cheers,

    When pushing key kombo Strg+S several times you need to push also several times to undo. I think once should be enough because you cant solve it more than once and after that one undo should be enough.

    Thanks,

    opened by lichtkind 0
  • Feature request: toggle left and right click

    Feature request: toggle left and right click

    I love this open source game package, thanks for maintaining it!

    The Android version of Tatham’s Puzzle Games has a little control panel inside each game that enables toggling the functions of short and long click during game play. Could you implement that in the iOS version? For games that call for lots of long clicks, this feature makes them much more playable.

    opened by lrperlmu 1
  • Uses ringer volume for media

    Uses ringer volume for media

    My system: iOS 15.2.1

    App version: 1.3.2.1 Original Revision: f1e68fb Downloaded from Apple app store a few days ago

    This bug report is about the right click sound played by the long tap action which simulates right click. To reproduce, open a new game of Mines, and perform a long tap on any square of the board. (Or pretty much at any time in any game, that's just one example.)

    My phone has two volume controls: media and ringer. Media volume is in the control center which is accessed by swiping down from the top right. Ringer volume is in settings -> sound and haptics -> Ringer and alerts. Typically, ringer volume determines the playback volume of ringer and alerts while media volume controls the volume of video playback, music, and games.

    The expected behavior is for games to use the media volume to for the long tap sound. The actual behavior is that this app uses the ringer volume. This means that in order to hear the long tap sound clearly (it is a very faint sound and very important for gameplay) I need to turn my ringer volume all the way up, and then my phone rings loudly if I get a call.

    Glad to provide more details if needed, thanks for maintaining this package :)

    opened by lrperlmu 0
  • Game ids inaccessible

    Game ids inaccessible

    The game ids and random seeds cannot be edited or copied. This problem has been going on for at least a few months, but I’m not sure when it started exactly. I’ve had it on both an iPhone SE (the old SE) and an iPad, on various subversions of iOS 14.

    opened by mcdemarco 1
  • Tatham upstream merges

    Tatham upstream merges

    I've been keeping my own fork of your code up-to-date with Simon Tatham's updates over the years. Lots of little bugfixes, but he also added a new game at some point.

    But at some point I also merged in a branch from some other guy's additional puzzles for the collection: https://github.com/x-sheep/puzzles-unreleased

    Since you hadn't updated in years, I didn't think to keep a completely separate branch without those additional "x-sheep" puzzles. I did, however, keep my iOS build file changes in a separate branch. That separate branch is the one I've been using to build and then locally install on my iPhone and iPad. So this PR should produce a clean build that only incorporates 5 years' worth of upstream merges. It does have the x-sheep files in the source, but they're not incorporated into the build.

    If you're interested in those additional puzzles, I can make different PR that includes the changes to Puzzles.xcodeproj/project.pbxproj I've been using to include them in the build.

    If you're interested in the upstream merges but not the x-sheep puzzles, and you'd prefer a nice clean PR without the extra garbage, then I can make a cleaner PR for you.

    If you're not interested in any of this at all, then I'll just say "thanks" for creating this iOS build in the first place :)

    opened by snelg 8
Owner
Greg Hewgill
Greg Hewgill
iPhone and iPod Touch version of Skeleton Key: is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. Made with cocos2d-iphone.

Skeleton Key (iOS) Skeleton Key is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. It's availa

null 117 Jun 6, 2022
Gamer-s-Collection - An app for searching and saving favorite games using rawg.io api and Core Data

Gamer-s-Collection - An app for searching and saving favorite games using rawg.io api and Core Data

Rıdvan İmren 1 Aug 19, 2022
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.

Please star this github repository to stay up to date. TraceLog Introduction TraceLog is a highly configurable, flexible, portable, and simple to use

Tony Stone 52 Oct 28, 2022
Owl is a portable Wayland compositor written in Objective-C, using Cocoa as its backend.

Owl is a portable Wayland compositor written in Objective-C, using Cocoa as its backend. Owl primarily targets Mac OS X, but also supports a varie

Owl compositor 62 Dec 31, 2022
🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web

Matchimals.fun an animal matching puzzle card game ?? ?? ?? Download for iOS from the App Store ?? Download for Android from the Google Play Store ??

iGravity Studios 137 Nov 24, 2022
iPhone and iPod Touch version of Skeleton Key: is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. Made with cocos2d-iphone.

Skeleton Key (iOS) Skeleton Key is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. It's availa

null 117 Jun 6, 2022
Solution to the Giant Pyramid puzzle

Giant Pyramid Solver This is a repository for the solver and the solution for the Giant Pyramid puzzle I bought mine around 2000. As of 2017 it is no

Max Khrapov 0 Dec 2, 2021
Blueprints is a collection of flow layouts that is meant to make your life easier when working with collection view flow layouts.

Blueprints is a collection of flow layouts that is meant to make your life easier when working with collection view flow layouts. It comes

Christoffer Winterkvist 982 Dec 7, 2022
Modern-collection-view - Modern collection view for swift

Modern collection view Sample application demonstrating the use of collection vi

Nitanta Adhikari 1 Jan 24, 2022
A collection useful tips for the Swift language

SwiftTips The following is a collection of tips I find to be useful when working with the Swift language. More content is available on my Twitter acco

Vincent Pradeilles 929 Dec 10, 2022
A collection of Swift tips & tricks that I've shared on Twitter

⚠️ This list is no longer being updated. For my latest Swift tips, checkout the "Tips" section on Swift by Sundell. Swift tips & tricks ⚡️ One of the

John Sundell 3.9k Dec 30, 2022
A Collection of PropertyWrappers to make custom Serialization of Swift Codable Types easy

CodableWrappers Simplified Serialization with Property Wrappers Move your Codable and (En/De)coder customization to annotations! struct YourType: Coda

null 393 Jan 5, 2023
ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation

ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation. Demo Requirements iOS 9.0+ Xcode 8 Insta

Yansong Li 775 Dec 7, 2022
Gradients 🌔 A curated collection of 180 splendid gradients made in swift

Gradients ?? A curated collection of 180 splendid gradients made in swift 180 splendid Gradients inspired by itmeo/webgradients View all the gradients

Gradients 775 Jan 1, 2023
DTPhotoViewerController - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.

DTPhotoViewerController Example Demo video: https://youtu.be/aTLx4M4zsKk DTPhotoViewerController is very simple to use, if you want to display only on

Tung Vo 277 Dec 17, 2022
BFKit-Swift is a collection of useful classes, structs and extensions to develop Apps faster.

Features • Classes and Extensions Compatibility • Requirements • Communication • Contributing • Installing and Usage • Documentation • Changelog • Exa

Fabrizio Brancati 992 Dec 2, 2022
A collection of functions for statistical calculation written in Swift.

σ (sigma) - statistics library written in Swift This library is a collection of functions that perform statistical calculations in Swift. It can be us

Evgenii Neumerzhitckii 658 Jan 5, 2023
CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift

CryptoSwift Crypto related functions and helpers for Swift implemented in Swift. (#PureSwift) Note: The master branch follows the latest currently rel

Marcin Krzyzanowski 9.4k Jan 5, 2023
💾 A collection of classic-style UI components for iOS

A collection of classic-style UI components for UIKit, influenced by Windows 95 Introduction This is a little exploration into applying '90s-era desig

Blake Tsuzaki 2.2k Dec 22, 2022
A collection of awesome loading animations

NVActivityIndicatorView ⚠️ Check out LoaderUI (ready to use with Swift Package Mananger supported) for SwiftUI implementation of this. ?? Introduction

Vinh Nguyen 10.3k Dec 27, 2022