EpsiTetris – User manual

September 6, 2015

 

 

Access to EpsiTetris website: http://tquiz.org  

 

 

1. Introduction

 

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):

imageReference _Manuel-EpsiTetris-en.html/image1.png

 

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.

 

 

2. Playing TetrisQuiz

 

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.

 

2.1. The actions and feedback

 

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.

 

2.2. The three modes

 

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

 

2.3. The two sorts of TetrisQuiz

 

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.

 

2.4. Final feedback

 

At the end of the game, the eyeball buttons provide a list of hits that were played (all or only errors).

 

 

3. Create TetrisQuiz with durable targets

 

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:  

imageReference _Manuel-EpsiTetris-en.html/image1.png

 

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.  

 

3.1. The Tetris object

 

Here is the form of a Tetris object.

 

Object

Tetris

Status

unaryButton Private unaryButton Public unaryButton Open source

Mode

unaryButton Discovery unaryButton Training unaryButton Test unaryButton Game unaryButton free

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

unaryButton 1 unaryButton 2 unaryButton 3 unaryButton 4 unaryButton 5 unaryButton 6 unaryButton 7 unaryButton 8 unaryButton 9 unaryButton 10

  

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.

 

 

3.2. The phase object

 

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.

 

3.3. The "normal" target object

 

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.

unaryButton Add / delete rows unaryButton Remove explanations unaryButton Add explanations : unaryButton Calculation unaryButton Decimal form unaryButton Approximate calculation unaryButton Expansion unaryButton Check phase unaryButton Check all

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 2(x+3) and that you click on the "Expansion" button, you get the explanation 2(x+3)=2x+6

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:

4x² 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.  

 

3.4. The "non-choice" target object

 

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.  

 

3.5. Initial state of a phase and possible changes  

 

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.

 

 

3.6. Entering and changing fields

 

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.  

 

3.7. Verifying a phase or the entire Tetris

 

See the check buttons in the "normal" Target object.

 

3.8. Launching a Tetris

 

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.

 

 

3.9. Generation of formulas  

 

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"):

a for 100≤a≤1000 et mod(a)(7)=0 et number(10)  

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

calculQ 2a/( calculQ 2b) for 2≤a≤20 et 2≤b≤20 et hcf(a;b)=1 et number(5)

calculQ 2a/( calculQ 2b)=2* calculQ a/(2* calculQ b)= calculQ a/b

 

Then, we select two cells and click on the "Generate" button of the "Generation" panel. We get:  

 

Item

Explanation

24/34

24/34=2*12/(2*17)=12/17

16/26

16/26=2*8/(2*13)=8/13

38/32

38/32=2*19/(2*16)=19/16

28/22

28/22=2*14/(2*11)=14/11

30/8

30/8=2*15/(2*4)=15/4

 

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.

 

3.10. Images in TetrisQuiz

 

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".  

 

 

4. Create TetrisQuiz with changing targets

 

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.  

 

4.1. Description of the rows of the "Phase" object for basic use

 

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:  

unaryButton Unchanged unaryButton Random unaryButton Ascending order unaryButton Descending order

Sort of control

Use unaryButton none 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

 

 

4.2. The "ITEMS" row in basic use

 

Items

unaryButton Indication of the good answer unaryButton Add / delete columns unaryButton Add / delete rows unaryButton Check phase unaryButton Check all unaryButton Generation unaryButton Compilation unaryButton Reset

Item

Explanation

Target

Target

Target

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 ok in the cell of this target with the ok button of the "Generation" panel.

When a row has no indication of correct answer with ok , 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.

 

4.3. Specific features for math without generation / compilation

 

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 ok 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 ok 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.

 

4.4. Specific features for math with generation

 

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

calculQ a+ calculQ b for 4≤a≤10 et 2≤b≤8 et number(8)

calculQ a+ calculQ b= calculQ a+b

a+b-2

a+b-1

a+b ok

a+b+1

a+b+2

 

Then click on the imageReference _Manuel-EpsiTetris-en.html/image58.png button. You get:

 

Item

Explanation

Target

Target

Target

Target

Target

9+5

9+5=14

12

13

14 ok

15

16

7+2

7+2=9

7

8

9 ok

10

11

6+6

6+6=12

10

11

12 ok

13

14

9+7

9+7=16

14

15

16 ok

17

18

8+3

8+3=11

9

10

11 ok

12

13

10+5

10+5=15

13

14

15 ok

16

17

9+3

9+3=12

10

11

12 ok

13

14

8+8

8+8=16

14

15

16 ok

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 imageReference _Manuel-EpsiTetris-en.html/image67.png 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

calculQ a+ calculQ b for 4≤a≤10 et 2≤b≤8 et number(4)

calculQ a+ calculQ b= calculQ a+b

a+b-2

a+b-1

a+b ok

a+b+1

a+b+2

calculQ a+ calculQ b for 4≤a≤10 et 2≤b≤8 et number(4)

calculQ a+ calculQ b= calculQ a+b

a+b ok

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

calculQ a+ calculQ b/ calculQ c for 1≤a≤2 et 1≤b≤2 et 3≤c≤4 et hcf(b;c)=1

calculQ a+ calculQ b/ calculQ c= calculQ a* calculQ c/ calculQ c+ calculQ calculQ b/ calculQ c=(ac+b...

(ac+b)/c ok

(a+b)/c

(a+b)/(a+c)

ab/c

 

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+2/3

1+2/3=1*3/3+2/3=(1*3+2)/3

5/3 ok

1

3/4

2/3

2+1/4

2+1/4=2*4/4+1/4=(2*4+1)/4

9/4 ok

3/4

1/2

 

2+1/3

2+1/3=2*3/3+1/3=(2*3+1)/3

7/3 ok

1

3/5

2/3

1+1/4

1+1/4=1*4/4+1/4=(1*4+1)/4

5/4 ok

1/2

2/5

1/4

2+2/3

2+2/3=2*3/3+2/3=(2*3+2)/3

8/3 ok

4/3

4/5

 

1+1/3

1+1/3=1*3/3+1/3=(1*3+1)/3

4/3 ok

2/3

1/2

1/3

 

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| 1/2 | 1/2 | calculQ a+ calculQ b/ calculQ c

Note, (Generation ((a 2) (b 2) (c 3))) Two identical answers| 4/3 | 4/3 | calculQ a+ calculQ b/ calculQ c

 

Using the mask button

 

The mask button mask is on the Generation panel.

 

When mask 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  mask 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  2+ calculQ =7 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:

calculQ a+ calculQ =b for 1≤a≤10 et 2≤c≤10 et let b=a+c et number(8)

calculQ a+ calculQ c=b

c-2

c-1

c ok

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 ok 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:  

calculQ + calculQ a=b for 1≤a≤10 et 2≤c≤10 et let b=a+c et number(6)

calculQ a+ calculQ c=b

c ok mask

c-1

c+1

c+2

c+3

c+4

The cell with  c ok mask 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:

u≤0

in the Criterion for 'Wrong answer to delete' rows, the wrong targets verifying  u≤0 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 ok when it exists, the Item otherwise.  

Here is an example. With:

proportional(s;u)  as Criterion for 'Another good answer'

you say that each target containing a polynomial proportional to the solution is a good solution.

 

4.5. Specific features for math with compilation

 

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 imageReference _Manuel-EpsiTetris-en.html/image109.png button.

 

For example, if we compile the previous example:

Item

Explanation

Target

Target

Target

Target

calculQ a+ calculQ b/ calculQ c for 1≤a≤2 et 1≤b≤2 et 3≤c≤4 et hcf(b;c)=1

calculQ a+ calculQ b/ calculQ c= calculQ a* calculQ c/ calculQ c+ calculQ calculQ b/ calculQ c=(ac+b...

(ac+b)/c ok

(a+b)/c

(a+b)/(a+c)

ab/c

 

we get:

Item

Explanation

Target

Target

Target

Target

substcalculQa+calculQb/calculQc|(a,1;b,1;c,3)(a,1;b,1;c,4)(a,1;b,2;c,3)...

calculQ a+ calculQ b/ calculQ c= calculQ a* calculQ c/ calculQ c+ calculQ calculQ b/ calculQ c=(ac+b...

(ac+b)/c ok

(a+b)/c

(a+b)/(a+c)

ab/c

 

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:

calculQ a+ calculQ b for 1≤a≤10 et 1≤b≤10 et number(60)

 

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.