Action Tetris ->
Arg Scan_code : SC_*

Scan_code = SC_LEFT | Scan_code = SC_RIGHT >>
Move '?', Scan_code

Scan_code = SC_UP >>
Rotate '?'

Scan_code = SC_SPACE >>
Down '?'

>> _

/

Move Action ->                                        Move Action ->
Arg Board : ^&Board,                                  Arg Board : ^&Board,
    . : SC_LEFT                                           . : SC_RIGHT

SpaceExists( Board, SPACE_LEFT ) >>                   SpaceExists( Board, SPACE_RIGHT ) >>
MoveFigure 'Board' MOVE_LEFT                          MoveFigure 'Board' MOVE_RIGHT

>>                                                    >>
PlaySound SOUND_NO_MOVE                               PlaySound SOUND_NO_MOVE

/                                                     /

Rotate Action ->                                      Down Action ->
Arg Board : ^&Board                                   Arg Board : ^&Board

RotationIsPossible( Board ) >>                        DropIsPossible( Board ) >>
RotateFigure 'Board'                                  DropFigure 'Board'

>> _                                                  >> _

/                                                     /