Giter VIP home page Giter VIP logo

sliding_puzzle's Introduction

Sliding Puzzle

A sliding puzzle implementation using Python Tkinter. To play, first install the following Python packages.

  • Tkinter (for GUI processing)
  • OpenCV (to read the puzzle image)
  • NumPy (required by OpenCV)

Then download/clone this repository. Finally, open a terminal to the download/clone location and run

python3 main.py 3 crysis2.png

and enjoy! This will create a 3-by-3 sliding puzzle (i.e. an 8-puzzle) using the image file 'crysis2.png'.

If you want to use a different image (say, 'myimage.jpg'), delete the cached image files and specify your new image on the command line

rm img*.png                            # delete cache
python3 main.py 3 /path/to/myimage.jpg # run with your image

and it should work. Just make sure that 'myimage.jpg' is a square image. Otherwise, it may get visibly distorted.

To play at higher difficulty levels, just change the number on the command line. For instance,

rm img*.png                            # delete cache
python3 main.py 4 /path/to/myimage.jpg # run with your image

will create a 4-by-4 sliding puzzle (i.e. a 15-puzzle), whereas

rm img*.png                            # delete cache
python3 main.py 6 /path/to/myimage.jpg # run with your image

will create a 6-by-6 sliding puzzle (i.e. a 35-puzzle).

Deleting the cache is necessary whenever you want to change either the difficulty level or the puzzle image.

sliding_puzzle's People

Contributors

tfpf avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.