Starting Puzzle With Solution

Started by
4 comments, last by alvaro 11 years, 6 months ago
I've decided to make a clone of the open-source Android game Scrambled Net, but with XNA and for PCs. (Basically, you have one "power node" and have to rotate wires so all computers are connecting to the power node.) So far, I've been able to put random tiles on the board and have them rotate when clicked. Now comes the daunting task of the puzzle logic. I thought it would be easier to put a "solved" puzzle on the board and simply rotate the tiles randomly from there. (The user will not be able to see the solved state, of course.) That means all the necessary tiles are in their places; the user just needs to rotate them correctly. But I'm stuck: How do I generate a "solution?"

I don't even know where to begin. Is this project too complicated for a beginner? Should I pick something simpler, like tic-tac-toe?
Advertisement
You do have a logic of connection though?

Just start with a random position, put one tile there (without connections).

Pseudocode:

for number_of_tiles_to_set do
find random position beside on an empty spot beside an already set tile
connect both tiles

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

Not really sure how your game is supposed to work but can you do something like this?

Put that power node on the map.

Make a random path walker that starts on that node. Make a if or switch to move him in a direction put a wire there and a chance to rotate that wire. repeat this X times and put a computer at the end of the path.

Then start that again from the power node X times.

Of course you don't want to cross, or even have adjacent tiles to your previous (or current) paths so you have to check if the way is free.

Look up random/procedural map generation. It should yield many different methods on making things random.
Those sound like good starting points. Thanks for the help! I just Googled procedural map generation, and it looks just like what I needed.
Do all computers have to be connected directly to the power node, or is via another computer okay? If the latter, I'd say:

  1. Start with an empty board.
  2. Randomly place the power node.
  3. Randomly pick a maximum path length.
  4. Randomly pick a filled cell.
  5. Do a random walk from that cell up to the max path length, not allowing any collisions.
  6. Place the computer at the end of the walk.
  7. Go back to 3 as many times as required.
  8. EDIT: Fill the remaining empty cells with random wires.
Do all computers have to be connected directly to the power node, or is via another computer okay?[/quote]
Looking at the image in the link he posted, it looks like computers only have one connected side, so it's probably the former.

This topic is closed to new replies.

Advertisement