MCPcopy Index your code
hub / github.com/Swampsoft/solitaire

github.com/Swampsoft/solitaire @v0.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.1 ↗ · + Follow
150 symbols 341 edges 20 files 8 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Shenzhen I/O Solitaire Clone

screenshot

This project is not associated with Zachtronics or SHENZHEN I/O.

This is an implementation of the Solitaire mini-game included in the game SHENZHEN I/O. It comes with a set of custom made graphics and no audio, but can use the original game's assets if they are installed on the system.

Installation

The game is written in Rust. If you do not have a rust toolchain on your system yet, rustup is the preferred way to change that. When the toolchain is ready build and run the game with

cargo run --release

If you want to use the original graphics from SHENZHEN I/O, the easiest way is to delete or rename the resources/textures/ directory. Then the game will load assets from ~/.local/share/Steam/SteamApps/common/SHENZHEN IO/Content/. This works only on Linux if SHENHZHEN I/O is installed in Steam. If you are on Windows, or have SHENZHEN I/O installed in a different location, simply copy the following directories and files:

  1. SHENZHEN IO/Content/textures/solitaire -> resources/textures/solitaire
  2. SHENZHEN IO/Content/textures/sounds/card_*.wav -> resources/sounds/
  3. SHENZHEN IO/Content/textures/music/Solitaire.ogg -> resources/music/

How to play

The original game comes with ingame instructions. Please refer to these for now.

Extension points exported contracts — how you extend this code

All (Interface)
(no doc) [21 implementers]
src/utils/all.rs

Core symbols most depended-on inside this repo

build
called by 21
src/cs/mod.rs
new_entity
called by 20
src/cs/mod.rs
with_position
called by 20
src/cs/mod.rs
iter
called by 19
src/cs/mod.rs
with_stack
called by 17
src/cs/mod.rs
len
called by 16
src/types.rs
get_stackshift
called by 11
src/types.rs
all
called by 11
src/utils/all.rs

Shape

Method 111
Class 16
Function 12
Enum 10
Interface 1

Languages

Rust100%

Modules by API surface

src/cs/mod.rs24 symbols
src/types.rs20 symbols
src/resources.rs13 symbols
src/rules.rs12 symbols
src/cs/render_systems.rs11 symbols
src/gamestates/main_state.rs9 symbols
src/game.rs9 symbols
src/custom_audio.rs9 symbols
src/ai/mod.rs8 symbols
src/gamestates/welcome_state.rs7 symbols
src/gamestates/victory_state.rs6 symbols
src/gamestates/giveup_state.rs5 symbols

For agents

$ claude mcp add solitaire \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact