package net.sourceforge.pain.tinylib.logic.fn;
import net.sourceforge.pain.tinylib.*;
import net.sourceforge.pain.tinylib.data.type.*;
public final class PromptFn {
public static void printPrompt(Console console) {
Player p = console.getPlayer();
Creature creature = (Creature) p.getRole(Creature.class);
MessageOutFn.out(console, "\n");
Room exits = (Room) p.getLocation().getRole(Room.class);
StringBuffer promptBuf = new StringBuffer();
if (creature != null) {
promptBuf.append(creature.getHitPoints() + "/" + creature.getMaxLifePoints() + "hp ");
promptBuf.append(creature.getMoves() + "/" + creature.getMaxMoves() + "mv ");
}
if (creature != null) {
promptBuf.append(": {c");
} else {
promptBuf.append("{c");
}
boolean exitsFound = false;
if (exits != null) {
if (exits.getExit(Room.DIR_NORTH) != null) {
promptBuf.append("N");
exitsFound = true;
}
if (exits.getExit(Room.DIR_EAST) != null) {
promptBuf.append("E");
exitsFound = true;
}
if (exits.getExit(Room.DIR_SOUTH) != null) {
promptBuf.append("S");
exitsFound = true;
}
if (exits.getExit(Room.DIR_WEST) != null) {
promptBuf.append("W");
exitsFound = true;
}
if (exits.getExit(Room.DIR_UP) != null) {
promptBuf.append("U");
exitsFound = true;
}
if (exits.getExit(Room.DIR_DOWN) != null) {
promptBuf.append("D");
exitsFound = true;
}
}
if (!exitsFound) {
promptBuf.append("*");
}
promptBuf.append(" {x# ");
MessageOutFn.out(console, promptBuf.toString());
}
}