class Square { field int x , y ; field int size ; constructor Square new ( int Ax , int Ay , int Asize ) { let x = Ax ; let y = Ay ; let size = Asize ; do draw ( ) ; return x ; } method void dispose ( ) { do Memory . deAlloc ( this ) ; return ; } method void draw ( ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; return ; } method void erase ( ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; return ; } method void incSize ( ) { if ( x ) { do erase ( ) ; let size = size ; do draw ( ) ; } return ; } method void decSize ( ) { if ( size ) { do erase ( ) ; let size = size ; do draw ( ) ; } return ; } method void moveUp ( ) { if ( y ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; let y = y ; do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; } return ; } method void moveDown ( ) { if ( y ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; let y = y ; do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; } return ; } method void moveLeft ( ) { if ( x ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; let x = x ; do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; } return ; } method void moveRight ( ) { if ( x ) { do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; let x = x ; do Screen . setColor ( x ) ; do Screen . drawRectangle ( x , y , x , y ) ; } return ; } }