Question: ANY LANGUAGE! I am attempting it in Python... Consider the gear ball. You will, in the next assignment, be asked to program a particular style

ANY LANGUAGE! I am attempting it in Python... ANY LANGUAGE! I am attempting it in Python... Consider the gear

Consider the gear ball. You will, in the next assignment, be asked to program a particular style of solver for it. For this assignment, you have some programming and some problem solving. Programming Design and implement data structures for the puzzle itself, produce some (possibly crude) GUI for sanity checks, and write a program to randomize the puzzle. The GUI could be very simple, with each color in the puzzle represented by a letter. Plain text is fine. If you use someone else's code (just for the GUI---the rest must be your own code!), CITE YOUR SOURCE: URL, author, title of link, and dates posted (if known) and read. The randomizer function should take as input the number of moves. To make a move, you need to specify the stationary column, the rotating column, and the direction of rotation. If you held the middle- column steady, the two side-columns will move in opposite directions. If you held the side-column steady, the middle-column will rotate once and the third column will rotate twice. Note that the puzzle returns to its original state after six rotations in the same direction. You should prohibit the randomizer from undoing the last move, and from performing a 6th rotation in a row of the same column in one direction. Problem Solving Come up with at least one heuristic for the puzzle, and explain both the heuristic and why you believe that that heuristic is admissible. A heuristic, in this context, is NOT an algorithm

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!