General Goal

JRicochet is a puzzle game. It consists of a 10x10 grid. Each grid cell may contain an invisible block. Goal is to find all blocks within the grid. To do so probes can be fired from all four sides into the grid. Those probes will be ricochetted from the invisible blocks. Depending on if and how one or more blocks were hit, a probe can leave the grid at any position. From the entry and exits points the positions of the blocks have to be deduced in as few tries as possible.

The image below shows the grid. With the darker buttons with the ball in it the probes are fired into the grid. The ball from which the probe was fired turns yellow, the ball through which the grid was left turns red. In this image the position of the block, which ricochetted the probe, was toggled as probable block position. Of course the marked grid cell need not be a block cell. The same exit point might be the result of hits with more than on block.

All positions in the grid can be freely toggled as block/free position. Toggling a grid cell button does not count as a try.



However, when the 'check' button is pressed, only the correct grid cells should be marked as containing a block. The image below shows five cells in red. Those cells are marked incorrectly either as blocks or free position.



Ricochet Rules

The following three images show the ricochet rules:

1. A direct head on hit is reflected back in the opposite direction. I that case the ball button turns red, no yellow entry button is visible. A results of a direct hit have preferences before corner hits. Therefore in this picture the neighbouring block to the left has no influence in the exit point.



2. If a block is directly located at a border two different refelction cases are possible. In case of a direct head on hit: See rule 1.
In case of a single corner hit, the ball turns yellow. Don't ask for the logic behind this, be glad you got a tad more information than I had to give you. :-)



3. The last image shows what happens when the probe hits two block corners at the same time: Its behaviour is identical to a direct hit of a hypothetical block in the middle between both, the probe is reflected back into the opposite direction. The right most arrow shows what happens, when a probe hits a single corner of a non-border block: The path of the probe is turnes 90 degrees. I guess it is obvious in which direction. :-)



Settings

The normal game is a 10x10 grid with 5 blocks. In the settings menu these numbers can be changed. Actually I think the 10x10/5 settings works best, but maybe the one or the other likes to try different settings. Carefull, I was a bit sloppy here. The program does not prevent you from doing stupid selection, e.g. a 10x10 grid with 5000 blocks. It probably will crash then or at least be unplayable. The selection will take place after the program is restarted. If this really botheres you, what until I wrote the C++ version of this game. As side effect this 'bug' will be fixed in this JAVA version, too.

More usefull than the grid settings is the check button, which toggles the sound on and off.

That's all. Have fun.