SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files
                                TextMaze v1.2
                      by Kirk Baucom <kbaucom@schizoid.com>
                           http://www.robobunny.com

TextMaze generates random mazes on a text terminal and lets you traverse them using the arrow keys.

If you play with TextMaze and enjoy it, I'd appreciate an email letting me know that you liked it.

Installation

It's just a perl script, so all you have to do is make sure it's executable and put it somewhere convenient, like /usr/local/bin or /usr/local/games. After you run it the first time, it will create a .textmaze config file in your home directory.

Requirements

You must have the Curses module, which you can get from http://www.cpan.org.

Contributors

Kyle Guilbert <kguilber@coe.neu.edu>: maze solve code Juan Orlandini <jorlandini@DATALINK.com>: move count, additional move keys

Arguments

        -r <num>        sets the rows of the maze to <num>
        -c <num>        sets the columns of the maze to <num> 
        -m              generate a maze that is the maximum size allowed by your screen
        -d              generate the maze in "dissolve" mode, slower but fun to watch
        -s <num>        provide a seed value for generating a maze\n";
        -a              use ANSI color
        -h              prints a summary of the command line options, along with
                        default and maximum maze sizes

Default Keys while playing

        Movement:               Arrow keys, or vi movment keys (h,j,k,l)
        Redraw the screen:      r
        Toggle ANSI color:      c
        Solve the maze:         s
        Quit:                   q

A Note on TERM settings

Certain features depend on the capabilities of your terminal, and your TERM setting. Specifically, the three features you might not have are:

  • Hiding the cursor
  • Doing color
  • Drawing underlined characters

If you can't hide the cursor, dissolve mode looks kind of goofy. If you can't do underlines, you can't tell if there is a wall beneath your cursor.

Maze Sizes

Running textmaze without arguments will generate a maze that is either the default of 20 by 20, or the largest size it can fit on your screen if it is smaller than that. Each cell in the maze requires 1 row and 2 columns, plus 1 row and 1 column for the border. so a maze that is 20 units high will use 21 rows, and a maze that is 20 units wide will use 41 columns. So the largest maze you can fit on an 80 x 24 terminal window is 39 x 23.

Score

The formula for calculating your score is:

( Maze Height * Maze Width ) *
( Minimum Moves / Total moves ) *
( ( Minimum Moves / ( Time Take * 2 ) )

So a "perfect" score is the same as the area of the maze (eg. a perfect score for a 5 by 5 maze would be 25). You can get a "time bonus" by finishing the maze faster than two moves per second.

End Screen

I didn't do the ASCII art that appears when you finish the maze. I got it from someone else several years ago, and unfortunately I can't remember who it was. If you happen to know, or happen to be them, let me know.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.