A board is made of many grid points 1 & 2 arranged in a grid on a flat
surface 6, and connected to a game manager 3 (a CPU+memory+software).
Each grid point notifies the games manager when it is pressed, and the
games manager can illuminate each grid point by one of two color. The
boards plays a game in which a point is a legal move if its `visibility`
for the player is above or equal some value. The `visibility` of a point
is determined by checking in turn each of a predefined set of imaginary
straight lines emanating from the point. If the line does not pass
through any illuminated point, it is assigned a value of 0. Otherwise the
line is assigned a value of 1 if the closest illuminated point that it
passes through is illuminated in the colour of the player, or -1 if it is
in the opponent's color. The sum of the values of the lines is the
`visibility` of the point for the player.