public void moveDown() {
		if (lost)
			return;
		if (canMoveDown()) {
			shapeBoard.moveDown();
		} else { // sets the shape in gameBoard, getting a new shape to interact
					// with
			Shape s = shapeBoard.getShape();
			Point p = new Point(shapeBoard.getX(), shapeBoard.getY());
			int removedRows = gameBoard.setShape(p, s);
			if (removedRows == 4) {
				localAttack = attackFactory.getAttack();
			}
			score += 1 * removedRows * removedRows;
			// checking if the attack Singleblock is active
			if (opponentAttack.getType() == Attack.SINGLE_SHAPE
					&& opponentAttack.isActive()) {
				shapeBoard.setShape(new Z_Left());
			} else { // getting next shape from the factory
				shapeBoard.setShape(shapeFactory.getShape());

			}
			if (hit()) {
				lost = true;
				updated(GAME_LOST);
				shapeBoard.removeShape();
			}

		}
		updated();
	}