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()); } }