public void processClick(int x, int y) {
		Node p = getNode(x, y);
		if (p != null) {
			if (p.getPlayer() == getTurn() || p.getPlayer() == 0) {

				if (getGridValue(p) != 0) {
					if (getSelectedNode() != null) {

						if (!hasInAttack()) {
							addChangedGuti(selectedNode, p);
							deSelectNode(selectedNode);
							setSelectedNode(p);
						}
					} else {
						addChangedGuti(p);
						setSelectedNode(p);
					}
					setChangeGutiPosition();
				} else {
					if (getSelectedNode() != null) {
						if (isValidMove(getSelectedNode(), p)) {
							clearInAttack();
							addChangedGuti(getSelectedNode(), p);
							moveGuti(getSelectedNode(), p);
							addChangedGuti(p);
							deSelectNode(p);
							changeTurn();
						} else if (isValidAttack(getSelectedNode(), p)) {

							setInAttack();
							setMakeAnyMove();
							addChangedGuti(getSelectedNode(), p, vulnarableNode);
							moveGuti(getSelectedNode(), p);
							deSelectNode(p);
							setSelectedNode(p);
							addChangedGuti(getSelectedNode(), p, vulnarableNode);
							removeGuti(vulnarableNode);
							decreaseGuti(getOppositionPlayerNo(getTurn()));
							resetGameTimer();
							vulnarableNode = null;
						} else {
							errormsg = true;
							errormsg = false;
						}
					}
					setChangeGutiPosition();

				}
			}

		}

	}