A Rust implementation of the legendary solitaire game

Overview

Freecell

Yet another implementation of the legendary total information solitaire. Play patience like it's 1991, complete with sights and sounds.

game

Build

This game uses ggez so on Linux you'll want to install libasound2, libudev and pkg-config with something like:

apt install libasound2-dev libudev-dev pkg-config

and then you should be able to simply:

cargo run

Play

The goal of the game is to move the four aces, as they appear, to the foundations (the four slots in the top left), and build each up in suit from ace to king (A-2-3-4-5-6-7-8-9-10-J-Q-K), with the help of the four free cells (the four slots in the top right).

Only the top card or tableau of each cascade is available for play. It may be moved to a foundation pile, a free cell, or to another tableau pile. Within the tableau, cards are built down in sequence and alternating in color. Any card may be moved into an empty space. Blocks of cards may not be moved, unless the requisite number of free cells and/or tableau spaces are availabe to allow each individual card to be moved. If you fill all four foundation piles, you win.

Press the top button to deal a new game. Move cards or tableaux with drag and drop, right click cards to send them directly to the foundations.

You might also like...
A Client/Server game networking plugin using QUIC, for the Bevy game engine.
A Client/Server game networking plugin using QUIC, for the Bevy game engine.

Bevy Quinnet A Client/Server game networking plugin using QUIC, for the Bevy game engine. Bevy Quinnet QUIC as a game networking protocol Features Roa

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game
Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game. Home - Docs - Twitter - Discord 👾 Features Everythi

A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music.
A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music.

rustris A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music. (C) 2020 Ben Cantrick. This code is distri

An (unofficial) open source Rust implementation of the Discord Game SDK.

⚔️ discord-sdk An (unofficial) open source Rust implementation of the Discord Game SDK. Why not use this? This project is not official and is using a

Rust implementation of Another World (aka Out of this world) game engine
Rust implementation of Another World (aka Out of this world) game engine

RustyWorld Rust implementation of Another World (aka Out of this world) game engine. I wanted a fun project to challenge myself while learning Rust, a

Game of life implementation written in Rust.

Game of life Game of life implementation written in Rust. Part of my journey in learning Rust. Pattern files The patterns are based on the example pat

A first-time implementation of Conway's Game of Life in Rust: Adventure and Commentary

A Commentary on Life This project documents the process and final result of my first-ever attempt at implementing Conway's Game of Life. I'll be using

A Rust implementation of the GMT game Battle Line.

rsbl A Rust implementation of the game Battle Line. Running Currently there is only the simplest prototype of the game: a text-based table with ⚑ char

This is an implementation of
This is an implementation of "Game of Life" by Horton Conway in Rust using raylib.

Game-of-Life This is an implementation of "Game of Life" by Horton Conway in Rust using raylib. What is Game of Life? The Game of Life, also known sim

Comments
  • Resources not found.

    Resources not found.

    When compiling with RUSTFLAGS='-C target-cpu=native' cargo build --release the resulting binary panics with:

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: 
    ResourceNotFound("/cards.png", [
    ("~/games/freecell/target/release/resources", IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" })),
    ("~/.local/share/freecell", IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" })), 
    ("~/.config/freecell", IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" })), 
    ("./resources", IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" }))
    ])',
    src/game.rs:41:61
    
    opened by N4tus 3
  • [Feature Request] Number of cards that can be moved?

    [Feature Request] Number of cards that can be moved?

    In the original freecell game there is a rule that you can move at most number_of_empty_cells + 1 cards. Without this rule many stages become trivial.

    Currently there seems to be no restriction on moving a pile of cards. It is possible to implement this rule?

    enhancement 
    opened by asrcpq 1
Owner
null
Victorem - easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust.

Victorem Easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust. Example Cargo.toml [dependencies] vict

Victor Winbringer 27 Jan 7, 2023
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Petros 3 Oct 25, 2021
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

Eric G 3 Oct 15, 2022
A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

Michael Dorst 0 Dec 26, 2021
Wasm game of life - A Rust and WebAssembly tutorial implementing the Game of Life

wasm_game_of_life Conway's Game of Life in Rust and WebAssembly Contributing | Chat Built with ?? ?? by The Rust and WebAssembly Working Group About T

Rust and WebAssembly 236 Dec 24, 2022
Conway's Game of Life implemented for Game Boy Advance in Rust

game-of-life An implementation of a Conway's Game of Life environment on GBA. The ultimate game should have two modes: Edit and Run mode which can be

Shane Snover 1 Feb 16, 2022
2d Endless Runner Game made with Bevy Game Engine

Cute-runner A 2d Endless Runner Game made with Bevy Game Engine. Table of contents Project Infos Usage Screenshots Disclaimer Project Infos Date: Sept

JoaoMarinho 2 Jul 15, 2022
A game for the game jam "1-Button Jam 2021"

One click ninja A game for the game jam "1-Button Jam 2021" written in Rust with the Bevy engine. A rhythm game, where you play a soldier that can def

Alex Helfet 7 Apr 12, 2022
My first attempt at game programming. This is a simple target shooting game built in macroquad.

sergio My first attempt at game programming. This is a simple target shooting game built in macroquad. Rules Hit a target to increase score by 1 Score

Laz 1 Jan 11, 2022
A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

mike 20 Dec 23, 2022