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.