Solved

Can anyone assist me in how to proceed to solve this peg game.........

Posted on 2004-09-29
7
224 Views
Last Modified: 2010-03-31
Hi Guys,

 Am writing a program for a game called peg game.

 If u want to know what peg game is, then go to this link : http://www.crackerbarrel.com/games.cfm?doc_id=42

 If given suggestions, then it would be really helpful to me.

Thanks
aman

0
Comment
Question by:amankhan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
7 Comments
 
LVL 4

Accepted Solution

by:
funnyveryfunny earned 250 total points
ID: 12184839
I would approach the game this way:

1) The layout of the game: I see the layout as rows of squares built into a triangle like this

                    |(0,0)|
               |(1,0)||(1,1)|
          |(2,0)||(2,1)||(2,2)|
     |(3,0)||(3,1)||(3,2)||(3,3)|
|(4,0)||(4,1)||(4,2)||(4,3)||(4,4)|

with each square has a unique coord(i,j).

With this layout, a JUMP iS VALID if and only if one of these statements is true:

let say a jump from (i,j) --> (i',j') is valid iff

1) i' = i+2 && j' = j && notEmpty(i+1,j)
2) i' = i+2 && j' = j+2 && notEmpty(i+1,j+1)
3) i' = i+2 && j' = j-2 && notEmpty(i,j-1)
4) i' = i && j' = j+2 && notEmpty(i,j+1)
5) i' = i-2 && j' = j && notEmpty(i-1,j)
6) i' = i-2 && j' = j-2 && notEmpty(i-1,j-1)

....
0
 
LVL 4

Expert Comment

by:funnyveryfunny
ID: 12184922
The above comment is the internal working of game...the next step is provide a visual look to it.

I would prefer to use Canvas class as my graphics output.

For each square/cell, we can create a class to hold its data

class Cell{
   boolean isEmpty;
   Coordination(i,j);
   Point(x,y) // screen coordinate for drawing
   ....etc
}

so a game contains a collection of these cells and manipulate as neccessary.

That's how I would do it.
0
 
LVL 4

Expert Comment

by:funnyveryfunny
ID: 12184978
correction

1 ) i' = i+2 && j' = j && notEmpty(i+1,j)
  or
2) i' = i+2 && j' = j+2 && notEmpty(i+1,j+1)
  or
3) i' = i+2 && j' = j-2 && notEmpty(i,j-1)
  or
4) i' = i && j' = j+2 && notEmpty(i,j+1)
  or
5) i' = i-2 && j' = j && notEmpty(i-1,j)
  or
6) i' = i-2 && j' = j-2 && notEmpty(i-1,j-1)
0
 

Author Comment

by:amankhan
ID: 12205558
Thanx a lot funnyveryfunny..

 Am tryin this program with the logic u privided to me. If i have any doubts , i will ask u

bye
0
 
LVL 4

Expert Comment

by:funnyveryfunny
ID: 12216064
Another thing, you need a method that checks whether a game is finished - no more moves.
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Android development question 2 110
What browser will run Java? 7 181
activeMQ Queue Messages Enqueued and Messages Dequeued 1 119
Setup Eclipse for Andriod development 2 21
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
The viewer will learn how to implement Singleton Design Pattern in Java.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question