A Rush Hour game made with Cakelisp
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2.8 KiB

Kitty Gridlock

This is a project for V. She loves Rush Hour puzzles. For her birthday (April 2021), I have a goal to make a Rush Hour player for her Android phone, using my Cakelisp and GameLib tools.

I am using Michael Fogleman's Rush Hour database (archive.org) in order to provide her tons of puzzles.

Database format

(The following text is copied from Michael Fogleman's Rush Hour database (archive.org), for easier reference)

The database is a simple text file with just a few columns. There is one row for every valid (solvable, minimal) cluster. The columns are: number of moves, board description, and cluster size (number of reachable states).

The board description is a 36-character string representing the state of the unsolved board. It is a 6x6 2D array in row-major order. The characters in the description follow these simple rules:

  • o empty cell

  • x wall (fixed obstacle)

  • A primary piece (red car)

  • B - Z all other pieces

I used lowercase o instead of periods . for the empty cells in the database so that the entire board description can be selected with a double-click.

An example board:

60 IBBxooIooLDDJAALooJoKEEMFFKooMGGHHHM 2332

Target device

V has a OnePlus 6T Android phone with the following specifications (from here):

Thing Value
Display Type Optic AMOLED
Display Size 6.41 inches, 100.9 cm2
Display Resolution 1080 x 2340 pixels, 19.5:9 ratio (~402 ppi density)
CPU Chipset Qualcomm SDM845 Snapdragon 845 (10 nm)
CPU Octa-core (4x2.8 GHz Kryo 385 Gold & 4x1.7 GHz Kryo 385 Silver)
GPU Adreno 630
RAM 8GB
Android Version 10

The two main specs I need to care about are Android Version and Display Resolution. Additionally, AMOLED hints that pure black is going to look nice.