Creating a game board for 15-puzzle

5 views (last 30 days)
For this project, we are to make a the game 'Umpteen Puzzle' in Matlab. It is supposed to be a general function so the user can enter the dimensions of the case, and the function will return the case of that size with tiles placed in initial position. Tried starting by just doing 16 tiles in a 4x4 with one of the tiles being 0 (the blank space). Cant figure out how to do random though for 0-15 can only manually put each number in a spot. How can i use randperm or randi to generate random matrix of 0-15? And from there, I need to display it as an image to be used as the gameboard. Any help would be appreciated.

Accepted Answer

James Tursa
James Tursa on 17 Feb 2015
Edited: James Tursa on 17 Feb 2015
You can use reshape to get the random integers into the matrix shape you want. E.g.,
tiles = reshape(randperm(16)-1,4,4)
For the display, I think you will need to provide more details of exactly what look you are after. Just displaying the tiles variable to the screen shows a grid of the numbers, which may be adequate to "play" the game.
  1 Comment
Cale Cortney
Cale Cortney on 17 Feb 2015
Hi James, thanks for your response!
This is what the project instructions state: "The user should be prompted to enter a number of rows that is greater than 1 and a number of columns that is greater than 1. The tiles should be randomly arranged in the case, but the puzzle must be solvable via simple sliding moves."
"function [ ourCase ] = createCase( numRows , numCols ) After the user enters how large the case should be, the case needs to be created and populated with tiles. createCase should receive the dimensions of the case and return a case of that size (with the tiles placed in their initial positions."
We managed to find code for this puzzle online via the file exchange. We downloaded it to use it for reference and to help us get started. This image is what displays after Running the function. I think that's kind of more of what were looking for. When typing disp(tiles) , the matrix just appears in the command window and no 'image', per se, is produced.

Sign in to comment.

More Answers (0)

Categories

Find more on Number games in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!