Algorithm Needed to Solve a Puzzle
I am attempting to create an ASP.NET web page (in VB 2005) that will allow me to solve a mini game that is part of Bethesda’s Elder Scrolls IV: Oblivion game (Which I HIGHLY recommend). I intend to access the page on my iPhone.
If you can suggest an efficient algorithm; I will code it and post it here for other gamers to use. I will give the link to anyone who PMs me after it is completed.
If you’ve not played it, this is how it works.
The game consists of several rounds. The number of rounds isn’t important. Each round consists of a number of turns.
There are 4 quadrants. The “spokes” of the wheel form an X shape. Each quadrant is assigned one emotion: Love, Like, Dislike or Hate. This assignment remains consistent for each character and throughout the entire game.
At the start of the round, each quadrant is assigned an additional value, a percentage of how much the quadrant is “filled”: 25%, 50%, 75% or 100%. The position of these values is different for each round and the sequence is randomly assigned.
At the start of each turn, the percentage values rotate (clockwise). That is, on the first turn, if 50% is in the top quadrant, 75% in on the right, then on the second turn, 50% is on the right, and 75% is on the bottom, etc.
Each emotion can only be selected once per round. The object of the game is to select the highest values for Love and Like, while selecting the lowest values for Dislike and Hate. The best case scenario would therefore be 100% for Love, 100% for Like, 25% for Dislike and 25% for Hate. Of course that isn’t always possible.
Now, to make things a bit more complex, once you reach a certain level, you have the option to rotate the quadrants one time per round without making a selection.
Doing all this in the game without the assistance of an outside aid (be it paper of the web page) is very difficult, because the score is constantly dropping as you are selecting quadrants. Since the object of the game is to score the most points possible, I pause the game after I determine the emotion quadrants and the round's initial Fill quadrants.
To manually go through one round, I do this:
1) On a piece of paper, I write a big X on top of the page
2) Below it I create 5 smaller Xs in a row
3) In the big X I indicate which emotion is in each Quadrant
4) In the far left smaller X, I indicate in each quadrant the percentage it is filled
5) For each subsequent X, I fill in the quadrant with the values rotated. (Note: the last one is the same as the first)
6) I try to select the best values for each emotion.
7) On the computer, I then select the quadrants based on the values selected; for example: R, T, X,L, B (X being a rotate without selection).
I will not be using a database to store values, so all the calculations will need to be done “on the fly”
Thanks!