class SquareGame { field Square square ; field int direction ; constructor SquareGame new ( ) { let square = square ; let direction = direction ; return square ; } method void dispose ( ) { do square . dispose ( ) ; do Memory . deAlloc ( square ) ; return ; } method void moveSquare ( ) { if ( direction ) { do square . moveUp ( ) ; } if ( direction ) { do square . moveDown ( ) ; } if ( direction ) { do square . moveLeft ( ) ; } if ( direction ) { do square . moveRight ( ) ; } do Sys . wait ( direction ) ; return ; } method void run ( ) { var char key ; var boolean exit ; let exit = key ; while ( exit ) { while ( key ) { let key = key ; do moveSquare ( ) ; } if ( key ) { let exit = exit ; } if ( key ) { do square . decSize ( ) ; } if ( key ) { do square . incSize ( ) ; } if ( key ) { let direction = exit ; } if ( key ) { let direction = key ; } if ( key ) { let direction = square ; } if ( key ) { let direction = direction ; } while ( key ) { let key = key ; do moveSquare ( ) ; } } return ; } }