The user reveals fields in pairs, if both fields of the revealed pair
have the same colour, fields remain revealed, if not, fields hide
their colours
Technical details:
Size of the board
The default size: 2 rows and 3 columns
Pressing F1 key increases the number of rows and columns by 1
Pressing F2 key decreases the number of rows and columns by 1
Fields representation:
When the field is hidden, it is drawn using the system colour of
application workspace
When it is revealed, it is represented by a rectangle filled with
the field's colour
Colour of fields are randomly generated during creating of fields
Scenario of trying to find a pair of fields is as follows:
The user clicks the first field, the colour of this field is revealed
The user clicks the second field, the colour of this field is also revealed
If colours of the first and the second field are the same, both
fields remain revealed, if not, clicking the third field makes both
fields to hide their colours
The form must be resizable and all fields must be scaled and repositioned
in a good way to fit completely the main form's client area
Using controls other than forms (objects of the Form class or any class
inherited from it) is forbidden
Drawing is forbidden (no Graphics nor Device Contexts can be used in
the source code)
Hints:
Create one child form for each field, set the main form as an MDI container
IsMdiContainer, MdiParent
MouseClick, KeyDown
Resize
BackColor, Tag
Approximate points:
Creating fields (in a parametrized way): 4.0
Changing the number of fields: 1.5
Resizing the main form, positioning of fields: 2.0
Clicking on fields: 1.0
Game logic (random colours for pair of fields, revealing fields): 1.5