protected void onUpdateGameOver() {
		
		long time = System.currentTimeMillis();
		int lap = ( int ) ( time - _gameOverStart );
		
		if ( lap > GAME_OVER_DRAW_TIME ) {
			
			if ( !_isGameOverRev ) {
				
				if ( _gameOverPos.size() == GRID_Y ) {
					_isGameOverRev = true;
					_grid = new short[ GRID_Y ][ GRID_X ];
					_gridColor = new short[ GRID_Y ][ GRID_X ];
				} else {
					List< Integer > pos = new ArrayList<Integer>();
					for ( int i = 0; i < GRID_X; i++ ) {
						pos.add( i );
					}
					_gameOverPos.add( pos );
				}
				
			} else {
				
				if ( _gameOverPos.size() == 0 ) {
					moveSq( SceneGame.SQ_START );
					_pressEnterStart = System.currentTimeMillis();
				} else {
					_gameOverPos.remove( _gameOverPos.size() - 1 );
				}
			}
			
			_gameOverStart = time;
		}
	}