tmaze 1.14.2

Simple multiplatform maze solving game for terminal written entirely in Rust
Documentation
Settings (
    // color scheme:
    // - valid colors:
    //  - black
    //  - dark_grey
    //  - red
    //  - dark_red
    //  - green
    //  - dark_green
    //  - yellow
    //  - dark_yellow
    //  - blue
    //  - dark_blue
    //  - magenta
    //  - dark_magenta
    //  - cyan
    //  - dark_cyan
    //  - white
    //  - grey
    color_scheme: ColorScheme (
        normal: "dark_grey",
        player: "red",
        goal: "yellow",
        text: "grey",
    ),

    // player will move only one space at the time,
    // otherwise it will move until other possible move
    slow: false,
    // slow: true,

    // in tower maze, player will automatically move up when possible
    disable_tower_auto_up: false,
    // disable_tower_auto_up: true,

    // when maze cannot fit on the screen
    // camera_mode:
    // - valid modes
    //  - CloseFollow - player will always be centered
    //  - EdgeFollow(horizontal margin, vertical margin)
    //     player will move on screen, but when he hits margin
    //     he will be centered on that axis
    camera_mode: CloseFollow,
    // camera_mode: EdgeFollow(10, 5),

    // default algorithm used for maze generation
    default_maze_gen_algo: RandomKruskals,
    // default_maze_gen_algo: DepthFirstSearch,

    // skip prompt for maze generation algorithm
    dont_ask_for_maze_algo: true,
    // dont_ask_for_maze_algo: false,

    // update check interval
    // - valid intervals:
    //  - Never
    //  - Daily
    //  - Weekly
    //  - Monthly
    //  - Yearly
    //  - Always
    update_check_interval: Daily,

    // display update check errors,
    // when false display on successfully found new version
    display_update_check_errors: true,
    // display_update_check_errors: false,

    // enable audio, if false, no audio will be played
    enable_audio: true,
    // enable_audio: false,

    // audio volume, 0.0 - 1.0, value is clamped, must not be NaN
    audio_volume: 0.5,

    // enable music, needs to have audio enabled
    enable_music: true,
    // enable_music: false,

    // music volume, 0.0 - 1.0, value is clamped, must not be NaN
    music_volume: 0.5,

    // lists of maze presets
    mazes: [
        // Maze:
        // - title - title of the maze preset
        // - width - width of the maze
        // - height - height of the maze
        // - depth - depth of the maze
        // - tower - if true, maze will be a tower (only if depth is >1)
        // - default - first maze with "default: true", will be used as default in the menu
        MazePreset (
            title: "10x5",
            width: 10,
            height: 5,
            default: true,
        ), MazePreset (
            title: "30x10",
            width: 30,
            height: 10,
        ), MazePreset (
            title: "60x20",
            width: 60,
            height: 20,
        ), MazePreset (
            title: "300x100",
            width: 300,
            height: 100,
        ), MazePreset (
            title: "5x5x5",
            width: 5,
            height: 5,
            depth: 5,
        ), MazePreset (
            title: "10x10x10",
            width: 10,
            height: 10,
            depth: 10,
        ), MazePreset (
            title: "10x10x5 Tower",
            width: 10,
            height: 10,
            depth: 5,
            tower: true,
        ), MazePreset (
            title: "40x15x10 Tower",
            width: 40,
            height: 15,
            depth: 10,
            tower: true,
        )
    ],
)