Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your feedback on a survey! Each completed response supports our community and gives you a chance to win a $25 Amazon gift card!


Starting Puzzle With Solution


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 JDCAce   Members   -  Reputation: 146

Like
0Likes
Like

Posted 22 September 2012 - 11:31 PM

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?

Sponsor:

#2 Endurion   Crossbones+   -  Reputation: 3692

Like
0Likes
Like

Posted 23 September 2012 - 12:08 AM

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>

#3 menyo   Members   -  Reputation: 500

Like
0Likes
Like

Posted 23 September 2012 - 02:01 AM

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.

Current Project: TechnoFlux read all about it on my

DEV BLOG


#4 JDCAce   Members   -  Reputation: 146

Like
0Likes
Like

Posted 23 September 2012 - 10:05 AM

Those sound like good starting points. Thanks for the help! I just Googled procedural map generation, and it looks just like what I needed.

Edited by JDCAce, 23 September 2012 - 10:30 AM.


#5 jefferytitan   Crossbones+   -  Reputation: 2247

Like
0Likes
Like

Posted 02 October 2012 - 03:41 AM

Do all computers have to be connected directly to the power node, or is via another computer okay? If the latter, I'd say:
  • Start with an empty board.
  • Randomly place the power node.
  • Randomly pick a maximum path length.
  • Randomly pick a filled cell.
  • Do a random walk from that cell up to the max path length, not allowing any collisions.
  • Place the computer at the end of the walk.
  • Go back to 3 as many times as required.
  • EDIT: Fill the remaining empty cells with random wires.

Edited by jefferytitan, 02 October 2012 - 03:43 AM.


#6 Álvaro   Crossbones+   -  Reputation: 13937

Like
0Likes
Like

Posted 02 October 2012 - 04:11 AM

Do all computers have to be connected directly to the power node, or is via another computer okay?

Looking at the image in the link he posted, it looks like computers only have one connected side, so it's probably the former.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS