RompecPC : A computerized program to create and solve jigsaw puzzles

RompecPC is a computerized program designed to create and assemble jigsaw puzzles. The program automatically records the solver’s responses as the number of pieces positioned correctly, the number of correct and incorrect movements, the number of times that she/he attempts to move a piece to the same place (perseverations), and the latency and place to which each piece is moved or attempted to be moved. These features facilitate the implementation and evaluation of puzzles while also reducing human error. Therefore, RompePC is a useful tool for the neuropsychological assessment of visuospatial skills in both clinical and experimental research.


INTRODUCTION
In English, a puzzle is a toy, problem or enigma designed to amuse by presenting difficulties to be solved through ingenuity or patient effort.In its simplest form-the jigsaw puzzle (rompecabezas in Spanish)-the solver attempts to put pieces together in a logical way in order to reach the desired solution.Resolving such puzzles requires recognizing patterns, creating a particular order, the ability to synthesize concrete parts into a meaningful whole, motor coordination, analysis and synthesis, as well as spatial processing [1].The aforementioned processes all constitute visuospatial skills.
Visuospatial skills are a set of cognitive functions that may recognize, perceive, store and remember the environment in which we live [2].Puzzles have been one of the most widely used tools in the neuropsychological assessment of visuospatial skills [3] and are integrated into many neuropsychological batteries, such as the Wechsler Adult Intelligence Scale-III (WAIS-III) [4] and a Developmental Neuropsychological Assessment (NEP-SY) [5].Jigsaw puzzles have many advantages for the assessment of visuospatial abilities since they demand manipulating many variables, including the number of pieces, the rotation of the pieces and the visual complexity of the images.In addition, puzzle performance makes it possible to measure different responses, such as the number of pieces placed correctly, the correct number of unions, solution times, etc.However, many solver responses are difficult to record when using traditional cardboard puzzle versions (e.g. the number of attempts to move pieces, the latency of each movement, the number of perseverations, etc.).For this reason, in clinical or experimental studies it is very helpful to use computerized puzzles.
Considering the utility of puzzles in neuropsychological assessment, this paper describes a computational program called RompecPC, which enables the researcher to present jigsaw puzzles and simultaneously record the solvers' responses.In addition to the variables traditionally obtained in these tests (number of pieces positioned correctly, time of solution, etcetera), the program makes it possible to measure the number of movements made, the number of times that a subject attempts to move a certain piece to the same place (perseverations), and the moment and place to which each piece is moved.compatible computer which uses that system and has at least one gigabyte of RAM.For optimal visualization of the program, the resolution of the monitor should be at least 1024 × 768 pixels.Although the puzzle pieces can be moved with the computer mouse, using a touch screen is recommended to facilitate execution of the task.
The program requires no installation; one only need copy the executable file "RompecPC.exe",the 36 files that make up the puzzle, a file with the entire image ("image guide") and a "names file" (described in detail below).

How to Design a Puzzle?
For a digital image to be converted into a puzzle, it needs to be in JPG or BMP format with a size of 480 × 480 pixels.This image must be divided into 36 segments, each of 80 × 80 pixels.Also, a copy of the image is required for use as a guide when the puzzle is being assembled; this copy must be 240 × 240 pixels.
Once the images are ready, it is necessary to create a file with the names of each one (Figure 1).The list begins with the complete 240 × 240 pixel image, followed by the labels that correspond to the 36 segments of 80 × 80 pixels (one name per line).As Figure 2 shows, the data must be organized as a matrix: first the names of the images that form the first row (a1b1••• aib6), then the second row, and so on consecutively, finishing with the last line (a6b1••• a6b6).
When the program starts, the scrambled pieces of the puzzle are presented on the left side of the screen, in preparation for assembly.The arrangement of the pieces is chosen randomly by the program according to 8 possible combinations.These arrangements have the same degree of difficulty since all of them maintain a constant distance among the parts (Figure 3).

Program Execution
The program begins by presenting two panels in the center of the screen.The right panel contains a 480 × 480 box where the puzzle will be assembled, while the left panel holds the 36 pieces of the puzzle in one of the 8 possible arrangements.Individual pieces are separated by 2 pixels, and the 36 images occupy an area of 490 × 490  The program can end in three ways: 1) when the time expires; 2) when the puzzle is completed; or 3) when the letter Q is pressed on the keyboard.In the first case, the program will record that the task was not completed.Before commencing assembly, it is necessary to select the "names file" which contains the names assigned to the complete digital image and the 36 individual pieces.To select the "names file" use the button located at the top right.In addition, the name of the output file where the results will be stored and the time limit for assembling the puzzle (15 minutes is the default value) must be determined.

Program Results
ROMPECPC generates an output file that contains the record of the subject's performance during puzzle solving.The first line of this file shows the location and date when the task was solved.Below this line, there are 5 data columns: in the first, the number of attempts to move the pieces is presented sequentially; the second presents the pieces that the subject attempted to move and the places to which these attempts were directed; the third indicates if the movement was correct (A) or incorrect (E); the fourth shows the time (in seconds) from task initiation and each piece moved; while the fifth shows the number of pieces that were placed correctly.On the right side of this last column, perseveration counters (arrows) may appear to indicate the number of attempts to move the same piece to the same location on more than one occasion.
Finally, when the "Begin the Task" button is pressed, the 36 scrambled pieces appear on the left side of the screen.As the pieces are oriented correctly they do not need to be rotated.A full image guide is shown at the top of the screen (Figure 5).
To assemble the puzzle, the solver must pass the pieces from the left panel to the right one.This action requires her/him to point and click with the mouse (or move them with her/his finger, if a touch screen is used) on one of the pieces on the left panel and then point and select click on the position on the right side where she/he believes that the piece fits.If the choice is correct, the piece disappears from the left panel and appears on the right one (Figure 5); in this case, the program will record a hit.However, if the subject attempts to place the piece in a wrong place on the right panel, the piece will not be moved and the program will register a mistake.Finally, below these 5 columns, the total number of mistakes and the legend indicating whether the task was completed or left unfinished is shown (Figure 6).
Since the output file is in ASCII format, the values can be easily manipulated to apply statistical analyses.On the right side is the button for the "names file", the one that holds the names of the complete image and the individual pieces.Also on this side are the button to select the location and name of the output file, as well as the option to choose the time limit for solving the puzzle.The first column shows sequentially the number of attempts to move the pieces; the second presents the pieces that the subject attempted to move and the places to which these attempts were directed; the third indicates whether the movement was correct (A) or incorrect (E); the fourth shows the time (in seconds) from task initiation and each piece moved; and the fifth shows the number of pieces that were placed correctly.

APPLICATION
The program was tested on 10 healthy female volunteers, with an average age of 21.3 years (range 20 -23).Each participant executed the program individually using a time limit of 15 minutes (900 seconds) to assemble the puzzle.
As Table 1 shows, these subjects assembled the puzzle in an average of 4.45 minutes (267.49seconds) and required an average of 60 moves to reach the goal.In addition, they had an average of 24 mistakes and 1.3 perseverations.

Figure 1 .
Figure 1.File with the names of each image required to assemble the puzzle.The list begins with the name of the small complete image (guide image) and continues with the names of the 36 segments that make up the full image.

Figure 2 .
Figure 2. Data matrix used to name each piece of the puzzle.

Figure 3 .
Figure 3. Representation of the 8 different arrangements in which the puzzle pieces can appear.One of these arrangements is chosen randomly by the program.

Figure 4 .
Figure 4. Initial screen of RompecPC.The instructions are on the top left side of the screen.On the right side is the button for the "names file", the one that holds the names of the complete image and the individual pieces.Also on this side are the button to select the location and name of the output file, as well as the option to choose the time limit for solving the puzzle.

Figure 5 .
Figure 5. Representations of the RompePC screens when the task begins (top) and when some pieces have been moved from the left panel to the right one (bottom).

Figure 6 .
Figure 6.Parameters obtained in the output file after execution of RompecPC.The first column shows sequentially the number of attempts to move the pieces; the second presents the pieces that the subject attempted to move and the places to which these attempts were directed; the third indicates whether the movement was correct (A) or incorrect (E); the fourth shows the time (in seconds) from task initiation and each piece moved; and the fifth shows the number of pieces that were placed correctly.