Skip to content

Instantly share code, notes, and snippets.

@motchang
Last active July 14, 2020 01:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save motchang/0f0b0907f845dabc6b1fe8b2748c9413 to your computer and use it in GitHub Desktop.
Save motchang/0f0b0907f845dabc6b1fe8b2748c9413 to your computer and use it in GitHub Desktop.
public class Main implements HtwMessageReceiver {
private static HuntTheWumpusgame;
private static inthitPoints=10;
private static final List<String> caverns = new ArrayList<>();
private static final String[] environments = new String[] {
"bright",
"humid",
"dry",
"creepy",
"ugly",
"foggy",
"hot",
"cold",
"drafty",
"dreadful"
};
private static final String[] shapes = new String[] {
"round",
"square",
"oval",
"irregular",
"long",
"craggy",
"rough",
"tall",
"narrow"
};
private static final String[] cavernTypes = new String[] {
"cavern",
"room",
"chamber",
"catacomb",
"crevasse",
"cell",
"tunnel",
"passageway",
"hall",
"expanse"
};
private static final String[] adornments = new String[] {
"smellingofsulfur",
"withengravingsonthewalls",
"withabumpyfloor",
"",
"litteredwithgarbage",
"spatteredwithguano",
"withpilesofWumpusdroppings",
"withbonesscatteredaround",
"withacorpseonthefloor",
"thatseemstovibrate",
"thatfeelsstuffy",
"thatfillsyouwithdread"
};
public static void main(String[]args) throws IOException {
game = HtwFactory.makeGame("htw.game.HuntTheWumpusFacade", new Main());
createMap();
BufferedReaderbr = new BufferedReader(new InputStreamReader(System.in));
game.makeRestCommand().execute();
while(true) {
System.out.println(game.getPlayerCavern());
System.out.println("Health:" + hitPoints + "arrows:" + game.getQuiver());
HuntTheWumpus.Commandc = game.makeRestCommand();
System.out.println(">");
Stringcommand = br.readLine();
if (command.equalsIgnoreCase("e"))
c = game.makeMoveCommand(EAST);
elseif (command.equalsIgnoreCase("w"))
c = game.makeMoveCommand(WEST);
elseif (command.equalsIgnoreCase("n"))
c = game.makeMoveCommand(NORTH);
elseif (command.equalsIgnoreCase("s"))
c = game.makeMoveCommand(SOUTH);
elseif (command.equalsIgnoreCase("r"))
c = game.makeRestCommand();
elseif (command.equalsIgnoreCase("sw"))
c = game.makeShootCommand(WEST);
elseif (command.equalsIgnoreCase("se"))
c = game.makeShootCommand(EAST);
elseif (command.equalsIgnoreCase("sn"))
c = game.makeShootCommand(NORTH);
elseif (command.equalsIgnoreCase("ss"))
c = game.makeShootCommand(SOUTH);
elseif (command.equalsIgnoreCase("q"))
return;
c.execute();
}
}
private static void createMap() {
intnCaverns = (int)(Math.random()*30.0+10.0);
while(nCaverns>0)
caverns.add(makeName());
for(Stringcavern:caverns) {
maybeConnectCavern(cavern, NORTH);
maybeConnectCavern(cavern, SOUTH);
maybeConnectCavern(cavern, EAST);
maybeConnectCavern(cavern, WEST);
}
StringplayerCavern = anyCavern();
game.setPlayerCavern(playerCavern);
game.setWumpusCavern(anyOther(playerCavern));
game.addBatCavern(anyOther(playerCavern));
game.addBatCavern(anyOther(playerCavern));
game.addBatCavern(anyOther(playerCavern));
game.addPitCavern(anyOther(playerCavern));
game.addPitCavern(anyOther(playerCavern));
game.addPitCavern(anyOther(playerCavern));
game.setQuiver(5);
}
//以降のコードは省略
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment