public void update(Node lastPlayed){
        	Resolution.addFact(lastPlayed);
            int playedNodesIndex = 0;
            playedNodes = new Node[48];
            
            for(int i = 0; i < allnodes.length; i++){
                if(!(allnodes[i].getChar() == 'n')){
                    playedNodes[playedNodesIndex] = allnodes[i];
                    playedNodesIndex++;
                }
            }
            
            int playableIndex = 0;
            playableNodes = new Node[48];
            
            for(int i = 0; i < playedNodesIndex; i++){
                Node[] neighbors = playedNodes[i].getNeighbors();
                for(int j = 0; j < neighbors.length; j++){
                  	if ( neighbors[j] == null ) continue;
                    if(!neighbors[j].getValue()){
                        boolean inlist = false;
                        for(int k = 0; k < playableIndex; k++){
                            if(playableNodes[k].getId() == neighbors[j].getId()){
                                inlist = true;
                                k = playableIndex;
                            }
                        }
                        if(!inlist){
                            playableNodes[playableIndex] = neighbors[j];
                            playableIndex++;
                        }
                    }
                }
            }
            
            myGUI.setNodes(playableNodes);
            myGUI.setPlayedNodes(playedNodes);
            myGUI.repaint();
        }