EpsiTetris – User manual
September 6, 2015
Access to EpsiTetris website: http://tquiz.org
TetrisQuiz are quizzes running as Tetris, with an item falling slowly that should be placed in the right cell.
Example targets (cells where droopy elements are deposited):
The TetrisQuiz can cover all sorts of areas.
The TetrisQuiz are web activities which are performed by the EpsiTetris software, a JavaScript application that runs in a browser on computer, tablet and smartphone.
There is also an EpsiTetris Java application for TetrisQuiz authors.
In this manual, item and element are synonymous.
A TetrisQuiz activity starts by clicking on a link. This loads the application, then the game data of the selected link.
The activity consists of one or more phases. Two gauges totaled the positives and the negative points of a phase.
To move an item in a cell, simply click that cell or touch. It is also possible to use the arrow keys of the keyboard or of the toolbar.
When the player makes a mistake, feedback indicates the cell that should have been chosen. It may include an explanation if the author of TetrisQuiz has prepared one.
There are three modes for TetrisQuiz. Training, Test and Game When the mode is not imposed by the author of TetrisQuiz, it is selected by the player at the beginning of the activity.
In Training and Test modes:
- a correct move gets 2 green points,
- "I do not know" gets 1 red point,
- an incorrect move gets 2 red points,
- when all the elements are presented, the activity goes to the next phase
In training mode it is possible to pause during the fall of the element. In test mode, the pause occurs when the item is not falling.
In Game mode:
- a correct move gets 2 green points,
- "I do not know" gets 4 red points,
- an incorrect move gets 2 red points,
- When a gauge is full and the other is not empty, the two gauges are reduced by the amount of the smallest,
- When the green gauge is empty and the red gauge is full, the game is over,
- When the red gauge is empty and green gauge is full, the activity passes to the next phase
TetrisQuiz with durable targets:
Targets (cells where the falling elements are deposited) remain the same throughout the duration of a phase.
TetrisQuiz with changing targets:
Targets change at each change of element.
At the end of the game, the eyeball buttons provide a list of hits that were played (all or only errors).
TetrisQuiz are created with the EpsilonWriter application that runs on computers (Windows, MacOS and Linux).
Create a TetrisQuiz with durable targets with the menu "File | New | Tetris (Durable targets)" .
The functions of opening and saving files work for Tetris as for documents.
A Tetris is composed of a Tetris object described in a table and a number of phases.
A phase is composed of a phase object described in a table and a number of targets.
A target is described in a table. It is represented in the game by a cell in which the falling item can be placed.
When a Tetris phase is as follows during the game:
that means there are 5 targets: a "no choice" target, the one that reads "I do not know", and 4 normal targets. Among the normal targets, in the case above, three are specific targets (three on the right), the left target is an "Other cases" target: go into that target the elements that do not go in any of the other normal targets.
Tetris are created by describing the targets and providing the falling elements for each target.
Here is the form of a Tetris object.
Object |
Tetris |
Status |
|
Mode |
|
Title |
|
Authors |
|
Translator |
|
Description |
|
Subject |
|
Theme |
|
Level |
|
Age |
|
Keywords |
|
Les languages in iso code when use of multilingual |
|
Language in iso code (en, fr...) for the web directory |
|
Multilingual lexicon |
|
Comments for authors modifying this resource |
|
Number of phases |
|
Remark:
If we decrease by n the number of phases, the last n phases are destroyed. It is not possible to recover by "Undo".
When the status is "Private", the resource does not appear in the index of the web directory. When the status is "Public", the resource appears in this index.
When the status is "Open source", the resource appears in this index and in addition, the description contains a link for getting the source code of the resource to be able to modify.
The fields Title, Authors, Description are displayed in the index of the Web directory that contains TetrisQuiz.
The fields Discipline, Topics, Level, Age, Keywords, are displayed in the descriptions (html files) used to do research.
If the mode is set to "free" in the editor, the player will have to choose between Training, Test, Game.
Here is the form of a phase object.
Object |
Tetris_Phase1 |
No |
The place of the phase is adjusted by changing this number |
Sort of control |
Equivalence or none. See below. |
Title |
Mandatory |
Explanation |
Explanation displayed below the targets during the game |
Period |
The duration in seconds that the falling item remains at a position |
Number of movements |
The number of positions on which passes the falling item |
Points in game mode |
The number of points of the phase in game mode. |
Random items |
Whether to take the falling elements randomly or in order of the list |
Number of targets |
The number of targets is adjusted by changing this number |
Explanation of "Sort of control"
- "None": controls on target and elements are simply about their existence and number.
- "Equivalence": the criterion of choice is the mathematical equivalence (including equality). We want the targets are not mathematically equivalent (or equal) and that the elements are equivalent (or equal) to the target. The EpsilonWriter equivalence calculation is used to verify this: for every normal target object, EpsilonWriter verifies that the target is a well-formed mathematical expression. It indicates notes (this is not considered an error) if it cannot calculate the equivalence for this target (the equivalence calculation mechanism is not complete). It checks that the elements are well formed mathematical expressions and are equivalent to their target. It also checks that the elements of the target object "Other cases", when it exists, are not equivalent to other targets.
Here is the form of a "normal" target object.
Object |
Tetris_Phase1_Cible1 |
No |
The place of the target (from left to right) is adjusted by changing this number |
Type |
Normal |
Target |
The target itself, for example: 6 It is only used in equivalence checks |
Text of the target |
The text to be displayed above the cell of the target, for example: 'is 6' |
Reserve: unused items |
See example in "Generation of formulas" |
ITEMS. In paragraph: the items. In table: items in column 1 and explanations (optional) in column 2.
|
The falling elements that go in that target, for example: 2+4 3+3 8-2 1+5 7-1 And eventually explanations. For this, you have to set the display to table and write explanations in the 2nd column. Some buttons on the left automatically provide mathematical explanations. For example, if column 1 was the element and that you click on the "Expansion" button, you get the explanation The last buttons are used to check the phase or the entire Tetris.
|
Display |
To view the items in a paragraph or in a table, see below. |
Remark:
The frame of a normal target is displayed in blue.
When the Sort of control Equivalence:
- A precise target (like "equal to 6") must contain a value in the Target field.
- A target "Other cases" (like "equal or 4 or 6") must not contain value in the Target field.
- There is zero or a target "Other cases".
The items are provided in the cell "Elements".
When the display is "paragraph", the elements are separated by spaces. They are words, formulas or short sentences. The short sentences are made of several words and formulas, separated by spaces and are in quotes.
For example:
blue "12 is red" black
is a list of 4 items whose third is a short sentence.
When the display is "table", the items are placed in a table, one entry per line.
Here is the form of a "non-choice" target object.
Object |
Tetris_Phase1_Cible1 |
No |
The place of the target (from left to right) is adjusted by changing this number |
Type |
Non-choice |
Target |
??? |
Text of the target
|
The text to be displayed above the cell of the target, for example: ??? or "I don't know" |
Remark:
The frame of a non-choice target is displayed in red.
A phase must contain one and only one non-choice target.
The initial state of a phase is composed from left to right:
- A normal target type "Other cases" with nothing in the target field.
- A target "non-choice"
- Two normal targets made to set specific elements in the target field.
The "Other cases" target can be transformed into a precise normal target by giving a value to the target field and adapting the "Text of the target."
A normal target which is not of type "Other cases" can be transformed into an "Other cases" target by emptying the target field and adapting the "Text of the target."
A target can be moved by changing its number.
The number of targets can be changed using the field "Number of targets" of the phase.
Some fields cannot be changed (the type of a target, for example).
Some fields are choices in a set of values. When the page is in "Compact" mode (see top button), the value is changed by clicking the arrow next to the displayed value. When it is in "Developed" mode (see top button), the value is changed by clicking on the desired value which is displayed in green.
The other fields are input fields working with the EpsilonWriter input mechanisms.
See the check buttons in the "normal" Target object.
To play a Tetris made with EpsilonWriter during the development phase, you must save it to local disk and then use the Java EpsiTetris application and load the file using the "Open" button.
To broadcast a Tetris made with EpsilonWriter, you must save it on epsilon-publi (menu. "Web | Save Web (Tetris)". Use the "URL Tetris" button in the explorer of EpsilonWriter to copy in the clipboard the URL where you can play the Tetris. Then paste in messages or documents.
Formulas can be generated using the for operator. See the manual of dynamic algebra , section "Generation of formulas", for detailed explanation on the for operator.
In order to produce a list of 10 numbers between 100 and 1000 divisible by 7, we write in the ITEMS line (being in display "Paragraph"):
then we perform a Ctrl-Click to generate the elements, producing, for example:
420 532 658 966 252 175 357 602 126 217
which is located below the formula.
Then the formula must be removed so that it is not considered one of the elements. It is suggested to cut the formula and paste in the line "Reserve: Unused elements." It may thus be reused later.
In order to produce a list of 5 numerical fractions for a target "Can be simplified by 2" with automatically generated explanations, we write in the ITEMS line (being in display "Table"):
Item |
Explanation |
|
|
Then, we select two cells and click on the "Generate" button of the "Generation" panel. We get:
Item |
Explanation |
|
|
|
|
|
|
|
|
|
|
When the formula is ok, we apply undo, copy the table and paste in the "Reserve: Unused elements." so that it can be reused later then generate again the ITEMS to have what we want.
You can put images in the texts of targets and in the elements. The easiest way is to copy an image in an application or by capturing, and to paste into EpsilonWriter. You can also use the "File | Import Image".
In a TetrisQuiz with changing targets, each item has its own targets, in other words, targets change at each new falling item.
TetrisQuiz with changing targets have the same description of the object "Tetris".
The data concerning the items and the targets are in the table of the ITEMS row.
Several rows are used to configure the use of the items.
Object |
Tetris_Phase1 |
No |
The place of the phase is adjusted by changing this number |
Title |
Title of the phase |
Explanation |
Explanation displayed below the targets during the game |
Period |
The duration in seconds that the falling item remains at a position |
Number of movements |
The number of positions on which passes the falling item |
Points in game mode |
The number of points of the phase in game mode. |
Number of items to use |
The number of items to use in trainig and test mode. You can provide 50 items and type 20 here. |
Random items |
Whether to take the falling elements randomly or in order of the list. |
Text of the target 'Non-choice' |
The target 'Non-choice' is added by the player at runtime with the text you write here. |
Text of the target 'Other case' to add or nothing |
A target 'Other case' can be added by the player at runtime with the text you write here. |
Maximum number of targets |
You can provide many targets and limit the number of target at runtime here. |
Order of targets |
Indicates how to sort targets:
|
Sort of control |
Use for basic use |
Math without duplicates : Criterion for 'Another good answer'. Use the variable s for the solution and u for the other answer. |
Empty for basic use |
Math without duplicates ,equivalence : Criterion for 'Wrong answer to delete'. Use the variable s. |
Empty for basic use
|
Reserve: unused items |
User reserve except when generation is applied. In that case, there is an automatic copy of the "Items" row before generation. |
Items |
see below |
Items
|
|
The items are placed in the first column, with possibly an explanation in the second column and with the targets in the following columns.
It is possible to add / duplicate / delete rows and to add / delete columns with the "Table" menu.
When the first cell of a row is empty, the row is ignored. The presence of empty cells from the second column does not matter (empty cells are deleted by the player).
To indicate the correct target, insert in the cell of this target with the button of the "Generation" panel.
When a row has no indication of correct answer with , if "Text of the target 'Other case' to add" is empty, this is an error. If it is not empty, this means that the correct answer is "Other case".
Use the "Check" button to get feedback on the data inserted in the table.
Use of the sort of control "Math without duplicates"
In that case, each non empty cell (except in column 2) must contain a unique correct mathematical expression. This mathematical expression can be combined with text like:
is equal to x+5
Criterion for 'Another good answer' and Criterion for 'Wrong answer to delete' are not useful.
Use of the sort of control "Equivalence"
Subcase 1
The indication of correct answer with is omitted. The correct answer is the target which is equivalent to the item. There is an error if several targets are equivalent to the item. If no target is equivalent to the item, the correct answer is "Other case" if it exists, otherwise this is an error.
Subcase 2
The indication of correct answer with is present. The mathematical expression of the cell is the solution. It can be non-equivalent to the item. There is an error if another target is equivalent to this solution.
In both subcases, Criterion for 'Another good answer' and Criterion for 'Wrong answer to delete' are not useful.
Using "Generation" means using the for operator to generate items, targets and explanations.
See the manual of dynamic algebra , section "Generation of formulas", for detailed explanation on the for operator.
Here is a first example, enter this in the "Items" row:
Item |
Explanation |
Target |
Target |
Target |
Target |
Target |
|
|
a+b-2 |
a+b-1 |
a+b |
a+b+1 |
a+b+2 |
Then click on the button. You get:
Item |
Explanation |
Target |
Target |
Target |
Target |
Target |
9+5 |
|
12 |
13 |
14 |
15 |
16 |
7+2 |
|
7 |
8 |
9 |
10 |
11 |
6+6 |
|
10 |
11 |
12 |
13 |
14 |
9+7 |
|
14 |
15 |
16 |
17 |
18 |
8+3 |
|
9 |
10 |
11 |
12 |
13 |
10+5 |
|
13 |
14 |
15 |
16 |
17 |
9+3 |
|
10 |
11 |
12 |
13 |
14 |
8+8 |
|
14 |
15 |
16 |
17 |
18 |
Note that the formulas disappear from this table (so that EpsiTetris player can use the table) but that it has been copied in the reserve. With the button, you can get back this table with the formulas in the "Items" row.
This is fine, but the problem here is that the correct answer is always at the same place.
You can avoid this by using random order for target. But this is not very pleasant to have a list of target containing integers in random order.
Another possibility is to have more targets (add a+b+3 a+b+4 a+b-3 a+b-4 ) and to limit the number of targets (for example to 5). The player will choose randomly the 5 targets (always including the correct one). So, the place of the correct answer will not be always the same, but it will very often be close to the middle.
A better solution consists of typing several rows like:
Item |
Explanation |
Target |
Target |
Target |
Target |
Target |
|
|
a+b-2 |
a+b-1 |
a+b |
a+b+1 |
a+b+2 |
|
|
a+b |
a+b+1 |
a+b+2 |
a+b+3 |
a+b+4 |
not 2 like above, but 4 or 5.
And this can be combined with the previous idea of many targets with a limitation of the target number.
Combining Generation with "Math without duplicates" or "Equivalence"
Such combinations are very useful to avoid having several correct answers and several identical targets. When this occurs and a combination is active, the generated row is not considered as an error, some targets are just deleted in this generated row. The row is an error however if it remains less than 2 targets. In that case, it is not inserted in the result.
Here is a situation where it happens naturally:
Item |
Explanation |
Target |
Target |
Target |
Target |
|
|
|
|
|
|
We have placed the right answer as target 1 and possible errors as target 2, 3 and 4.
The generation provides:
Item |
Explanation |
Target |
Target |
Target |
Target |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You can see that there is twice a missing target. The explanation window explains when this happens, it says:
Note, (Generation ((a 2) (b 1) (c 4))) Two identical answers| | |
Note, (Generation ((a 2) (b 2) (c 3))) Two identical answers| | |
Using the mask button
The mask button is on the Generation panel.
When is inserted in an Item cell, this means "Hide this row". So generation and compilation do not take this row into account. This is useful for tuning the TetrisQuiz: it is possible to hide all the lines except the one that is considered for tuning.
When is inserted in a Target cell, this means "Hide this target". This is particularly interesting in situation like this:
We want to generate additions with a hole like which goes to the target 5 when it exists, to None otherwise (we type None as "Text of the target 'Other case' ").
We write rows like:
|
|
c-2 |
c-1 |
c |
c+1 |
c+2 |
We use the "Sort of control" equivalence. The equivalence cannot be with regard to the item because the item is equality and the targets are numbers (furthermore, the item is not a well-formed expression);
So, we place the mark in the cell of the correct answer and we write several lines with the correct answer at different positions.
We can add rows with a correct answer "None", as follows:
|
|
c |
c-1 |
c+1 |
c+2 |
c+3 |
c+4 |
The cell with c says that c is the correct value (needed for equivalence) and that it has not to be displayed, so the correct answer will be None.
Using the Criterion for 'Wrong answer to delete'
If you write formulas for integers, some target being possibly negative for some values of the parameter and you don't want that, write:
in the Criterion for 'Wrong answer to delete' rows, the wrong targets verifying will be deleted.
Using the Criterion for 'Another good answer'
For that, you must choose "Math without duplicates" as Sort of control and write a formula in the Criterion for 'Another good answer' between s and u expressing when a target u is another good answer. The good answer is used as reference for s if the target marked with when it exists, the Item otherwise.
Here is an example. With:
as Criterion for 'Another good answer'
you say that each target containing a polynomial proportional to the solution is a good solution.
The principle of compilation is to prepare data to save time at runtime.
Generation is time consuming. It can easily take 10s with Java and more than one minute with JavaScript.
That is why EpsiTetris player refuses the for operators.
for operators must be generated before sending data to EpsiTetris.
They can also be compiled using the button.
For example, if we compile the previous example:
Item |
Explanation |
Target |
Target |
Target |
Target |
|
|
|
|
|
|
we get:
Item |
Explanation |
Target |
Target |
Target |
Target |
|
|
|
|
|
|
There is only a row for data, and this row compiles 4 rows (see the substitutions on the right of subst).
Note that the case where a target is deleted in the generation mechanism lead to a suppression of the row in the compilation mechanism.
Compilation is interesting for producing many items and having a short preparation time in the player.
Combined with a limitation of the number of items (e.g., 20 or 30), having many items is interesting because people who play several times will get new combinations of items each time.
For example, we measured the time with 5 rows like this one:
|
|
a+b |
a+b+1 |
a+b+2 |
a+b+3 |
a+b+4 |
Each row provides 60 items, so we have a total of 300 items.
With Generation, the preparation time for the JavaScript EpsiTetris on a 2 GHz computer was 12s. With compilation, it was 3.5s.
Note that after the compilation of a phase, if one of the row:
- Sort of control
- Criterion for 'Another good answer'
- Criterion for 'Wrong answer to delete'
is changed, a recompilation has to be done
This is also the case if "Text of the target Other case" changes from empty to non-empty or the reverse.
If the recompilation is not done and the file is saved, EpsiTetris player will refuse to play the TetrisQuiz.