Instructions
Objective
Write a program to create a treasure hunting game in java language.
Requirements and Specifications
Source Code
import java.io.IOException;
import java.util.Arrays;
public class FindPath {
private Map pyramidMap;
public FindPath(String filename) {
try {
pyramidMap = new Map(filename);
}
catch (IOException e) {
throw new RuntimeException(e);
}
}
public DLStack path() {
DLStack stack = new DLStack<>();
Chamber start = pyramidMap.getEntrance();
int n = pyramidMap.getNumTreasures();
stack.push(start);
start.markPushed();
int found = 0;
while(!stack.isEmpty()) {
Chamber top = stack.peek();
if (top.isTreasure()) {
found++;
if (found == n) {
break;
}
}
Chamber c = bestChamber(top);
if (c == null) {
top.markPopped();
stack.pop();
}
else {
stack.push(c);
c.markPushed();
}
}
return stack;
}
public Map getMap() {
return pyramidMap;
}
public boolean isDim(Chamber currentChamber) {
if (currentChamber != null && !currentChamber.isSealed() && !currentChamber.isLighted()) {
for (int i = 0; i<6; i++) {
Chamber neighbor = currentChamber.getNeighbour(i);
if (neighbor == null) {
continue;
}
if (neighbor.isLighted()) {
return true;
}
}
}
return false;
}
public Chamber bestChamber(Chamber currentChamber) {
for (int i = 0; i<6; i++) {
Chamber neighbor = currentChamber.getNeighbour(i);
if (neighbor == null) {
continue;
}
if (!neighbor.isMarked() && neighbor.isTreasure()) {
return neighbor;
}
}
for (int i = 0; i<6; i++) {
Chamber neighbor = currentChamber.getNeighbour(i);
if (neighbor == null) {
continue;
}
if (!neighbor.isMarked() && neighbor.isLighted()) {
return neighbor;
}
}
for (int i = 0; i<6; i++) {
Chamber neighbor = currentChamber.getNeighbour(i);
if (neighbor == null) {
continue;
}
if (!neighbor.isMarked() && isDim(neighbor)) {
return neighbor;
}
}
return null;
Similar Samples
Explore our extensive collection of programming homework samples at ProgrammingHomeworkHelp.com. From Java and Python to Machine Learning and more, our samples showcase our expertise in delivering top-notch solutions tailored to your assignments. Each example demonstrates our commitment to quality and accuracy, ensuring you receive the best assistance for your programming needs. Dive into our samples to see how we can help you excel in your coursework.
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java