public static void makeMove(Move move, boolean alienTurn) {
                // If it is the alien's turn
                if (alienTurn) {
                        // If the alien wants to move
                        if (move.move) {
                                uigui.getGUI().drawAlien(Node.getOtherNode(move.edge, ship.getAlienNode()), ship.getAlienNode(), uigui.getGUI().getGraphics());

                                ship.setAlienNode(Node.getOtherNode(move.edge, ship.getAlienNode()));
                        }
                        // If the alien wants to burn through an edge
                        if (move.changeState) {

                                // If the alien wants to burn through a wall
                                if (move.edge.getEdgeState() == null) {

                                        // Get the two endpoints of the new edge
                                        Iterator<Node> nodes = move.edge.getAdjacent().iterator();

                                        // Create the new edge
                                        Edge edgeToAdd = new Edge(EdgeState.BURNED, ship.nodeMap.get(nodes.next().getCoordinates()), ship.nodeMap.get(nodes
                                                        .next().getCoordinates()));

                                        // Add the edge
                                        ship.addEdge(edgeToAdd);

                                        // Draw the new edge
                                        uigui.getGUI().drawLines(ship.getAlienNode(), uigui.getGUI().getGraphics());
                                        uigui.getGUI().drawLines(Node.getOtherNode(edgeToAdd, ship.getAlienNode()), uigui.getGUI().getGraphics());
                                }
                                // If the alien is burning through a door
                                else {
                                        // Replace the edge on the ship
                                        ship.changeEdge(ship.edgeMap.get(move.edge.getAdjacent()), EdgeState.BURNED);

                                        // Update the GUI
                                        uigui.getGUI().drawLines(ship.getAlienNode(), uigui.getGUI().getGraphics());
                                        uigui.getGUI().drawLines(Node.getOtherNode(ship.edgeMap.get(move.edge.getAdjacent()), ship.getAlienNode()),
                                                        uigui.getGUI().getGraphics());
                                }

                        }

                }

                // If it is the predator's turn
                else {
                        // If the predator wants to move
                        if (move.move) {

                                // Update the predator's location
                                uigui.getGUI().drawPredator(Node.getOtherNode(move.edge, ship.getPredatorNode()), ship.getPredatorNode(),
                                                uigui.getGUI().getGraphics());

                                // assign the predator to his new node
                                ship.setPredatorNode(Node.getOtherNode(move.edge, ship.getPredatorNode()));
                        }
                        // If the predator wants to change the state of a door
                        if (move.changeState) {
                                // If the edge has not already been burned by
                                // the alien
                                // Swap it from open to closed
                                if (ship.edgeMap.get(move.edge.getAdjacent()).getEdgeState() == EdgeState.OPEN) {
                                        ship.changeEdge(ship.edgeMap.get(move.edge.getAdjacent()), EdgeState.CLOSED);
                                }
                                // Swap it from closed to open
                                else if (ship.edgeMap.get(move.edge.getAdjacent()).getEdgeState() == EdgeState.CLOSED) {
                                        ship.changeEdge(ship.edgeMap.get(move.edge.getAdjacent()), EdgeState.OPEN);
                                }

                                // Update the gui
                                uigui.getGUI().drawLines(ship.getPredatorNode(), uigui.getGUI().getGraphics());
                                uigui.getGUI().drawLines(Node.getOtherNode(move.edge, ship.getPredatorNode()), uigui.getGUI().getGraphics());

                        }

                }
        }