コード例 #1
0
  /**
   * method to add a new room
   *
   * @param roomList : rooms are added to the list
   * @return: It will return the name of the room that is added
   */
  protected static String addRoom(ArrayList<Room> roomList) {
    try {
      System.out.println("Add a room:");
      String name = getRoomName().toLowerCase();
      if (Pattern.matches("[a-zA-Z]+", name)) {
        int count = 0;
        if (count == 0) {
          if (roomList.size() > 0) {
            for (Room room : roomList) {
              if (room.getName().contains(name)) {
                System.out.println("Room already exists");
                break;
              } else {
                count = 1;
              }
            }
          }
        }
        if (count == 1 || roomList.size() == 0) {
          // to check whether the room name is empty or not
          if (name != null && !name.isEmpty()) {
            System.out.println("Room capacity?");
            int capacity = keyboard.nextInt();
            System.out.println("Building?");
            String building = keyboard.next();
            if (Pattern.matches("[a-zA-Z\\s]+", building)) {
              if (building != null && !building.isEmpty()) {
                System.out.println("Location?");
                String location = keyboard.next();
                if (Pattern.matches("[a-zA-Z]+", location)) {
                  Room newRoom = new Room(name, capacity, building, location);
                  roomList.add(newRoom); // add room to the
                  // list
                  return "Room '" + newRoom.getName() + "' added successfully!";
                } else {
                  System.out.println("Please enter only alphabets");
                }
              }

            } else {
              System.out.println("Please enter only alphabets");
            }
          } else {
            System.out.println("Name should not be empty");
          }
        }
      } else {
        System.out.println("Please enter only alphabets");
      }
    } catch (InputMismatchException e) {
      logger.info("Please enter only numeric values");
    }
    return "";
  }
コード例 #2
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void kick(Player p, String name) {
   for (Room r : clanRooms) {
     if (r.getName().equalsIgnoreCase(p.clanRoom)) {
       r.kick(p, name);
     }
   }
 }
コード例 #3
0
  public static void main(String[] args) {
    ArrayList<String> nextRoom = new ArrayList<String>();
    nextRoom.add("Room 2");
    Room myRoom =
        new Room(
            "Name",
            "This is a test room",
            nextRoom,
            "Room 3",
            50,
            "Monster 1",
            "This Test Room appears to be empty.");

    System.out.println("Room Name: " + myRoom.getName());

    System.out.println("Room Description: " + myRoom.getDescription());

    for (int i = 0; i < myRoom.getNextRoom().size(); i++) {
      System.out.println("The next room: " + myRoom.getNextRoom().get((i)));
    }

    System.out.println("The previous room: " + myRoom.getPreviousRoom());

    System.out.println("Encounter chance: " + myRoom.getEncounterChance());

    System.out.println("Local monster: " + myRoom.getLocalMonster());

    System.out.println("Empty room Description: " + myRoom.getEmptyRoom());
  }
コード例 #4
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void setRank(Player p, String name, int rank) {
   for (Room r : clanRooms) {
     if (r.getName().equalsIgnoreCase(p.clanRoom)) {
       r.setRank(p, name, rank);
     }
   }
 }
コード例 #5
0
  /** Method to export data like rooms, capacity and meetings array in json format into a file */
  protected static String exportData(ArrayList<Room> roomList) {

    JSONObject json = new JSONObject();

    for (Room room : roomList) {
      json.put("RoomName", room.getName());
      json.put("Capacity", room.getCapacity());
      JSONArray meetings = new JSONArray();

      for (Meeting m : room.getMeetings()) {
        meetings.add(m.toString());
      }
      json.put("Meetings", meetings);

      // write data to a file
      File fileName = new File("src/File/result.json");
      try (PrintWriter file = new PrintWriter(new BufferedWriter(new FileWriter(fileName, true)))) {
        file.write(json.toJSONString());
        file.write("\n");
        file.flush();
        file.close();
      } catch (IOException e) {
        logger.error("Exception in export method:", e);
      }
      logger.info("Data exported successfully");
    }
    return "";
  }
コード例 #6
0
 public Room findRoomByName(String name) {
   for (Room room : getRooms()) {
     if (room.getName().equals(name)) {
       return room;
     }
   }
   return null;
 }
コード例 #7
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void leave(Player p) {
   for (Room r : clanRooms) {
     if (r.getName().equalsIgnoreCase(p.clanRoom)) {
       r.leave(p);
       clear(p);
     }
   }
 }
コード例 #8
0
ファイル: World.java プロジェクト: davidgundry/Loamie
 /** Outputs the current state of the world, and everything it contains to a PrintStream as XML. */
 public void saveStateToXML(PrintStream ps) {
   ps.println("<world>");
   ps.println("	<welcome-message>" + welcomeMessage + "</welcome-message>");
   ps.println("	<goodbye-message>" + goodbyeMessage + "</goodbye-message>");
   for (Room room : getRooms()) {
     if (!room.getName().startsWith("DELETE")) room.saveStateToXML(ps);
   }
   ps.println("</world>");
 }
コード例 #9
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void join(Player p, String name) {
   if (createRoom(p, name)) {
     for (Room r : clanRooms) {
       if (r.getName().equalsIgnoreCase(name)) {
         r.join(p);
       }
     }
   }
 }
コード例 #10
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public boolean createRoom(Player p, String name) {
   for (Room r : clanRooms) {
     if (r.getName().equalsIgnoreCase(name)) {
       return true;
     }
   }
   clanRooms.add(new Room(name, p.username));
   return false;
 }
コード例 #11
0
ファイル: Room.java プロジェクト: scravy/SceTris
    public Form setValues(Room $object) {

      id = $object.getId();
      timekey = $object.getTimekey();
      name = $object.getName();
      number = $object.getNumber();
      building = $object.refBuilding();
      return this;
    }
コード例 #12
0
 /** to find the indexes for list of rooms */
 protected static int findRoomIndex(ArrayList<Room> roomList, String roomName) {
   int roomIndex = 0;
   for (Room room : roomList) {
     if (room.getName().compareTo(roomName) == 0) {
       break;
     }
     roomIndex++;
   }
   return roomIndex;
 }
コード例 #13
0
ファイル: BleScannerService.java プロジェクト: L6Echo/raumD
  @Override
  public void removeRoom(Room room) {

    if (room == null) throw new IllegalStateException();

    EstimoteManager.getRoomMap().remove(room.getBeaconId());
    persist();

    Log.d(LOG_TAG, "Removed room " + room.getName());
  }
コード例 #14
0
ファイル: Door.java プロジェクト: davidgundry/Loamie
 public boolean findTarget(List<Room> roomList) {
   boolean foundIt = false;
   for (Room room : roomList) {
     if (room.getName().equals(targetName)) {
       foundIt = true;
       this.target = room;
     }
   }
   if (!foundIt) return false;
   else return true;
 }
コード例 #15
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void joinPlayer(Player p, String name) {
   if (Misc.player(name) != null) {
     Player o = Misc.player(name);
     if (o.clanRoom.length() > 0) {
       for (Room r : clanRooms) {
         if (r.getName().equalsIgnoreCase(o.clanRoom)) {
           r.join(p);
         }
       }
     }
   }
 }
コード例 #16
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void logout(Player p) {
   if (p != null) {
     if (p.clanRoom.length() > 0) {
       for (Room r : clanRooms) {
         if (r.getName().equalsIgnoreCase(p.clanRoom)) {
           r.leave(p);
           r.updateRoom();
         }
       }
     }
   }
 }
コード例 #17
0
ファイル: BleScannerService.java プロジェクト: L6Echo/raumD
  @Override
  public void updateRoom(Room room) {

    if (room == null) throw new IllegalStateException();

    Room room1 = EstimoteManager.getRoomMap().get(room.getBeaconId());

    if (room1 == null) throw new IllegalStateException();

    room1.setDesiredTemperature(room.getDesiredTemperature());
    persist();

    Log.d(LOG_TAG, "Updated room " + room.getName());
  }
コード例 #18
0
ファイル: ClanChat.java プロジェクト: NicholasSieb/XScape525
 public void sendMessage(Player p, String message) {
   for (Room r : clanRooms) {
     if (r.getName().equalsIgnoreCase(p.clanRoom)) {
       if (message.startsWith("kick ")) {
         r.kick(p, message.replace("kick ", ""));
       } else if (message.startsWith("ban")) {
         r.ban(p, message.replace("ban ", ""));
       } else if (message.startsWith("unban")) {
         r.unban(p, message.replace("unban ", ""));
       } else {
         r.sendMessage(p, message);
       }
     }
   }
 }
コード例 #19
0
  public String playerNavigate(String direction, Player player) throws MapControlException {
    Game game = PemberleyGame.getCurrentGame();
    Room currentRoom = player.getLocation();
    Room nextRoom;
    switch (direction) {
      case "E":
      case "EAST":
        nextRoom = currentRoom.getEast();
        break;
      case "S":
      case "SOUTH":
        nextRoom = currentRoom.getSouth();
        break;
      case "N":
      case "NORTH":
        nextRoom = currentRoom.getNorth();
        break;
      case "W":
      case "WEST":
        nextRoom = currentRoom.getWest();
        break;

      default:
        return "Not sure where you are going.";
    }
    if (nextRoom == null) {
      throw new MapControlException("You can't go that direction");
    } else {
      player.setLocation(nextRoom);
      currentRoom = player.getLocation();
      String[] roomArray = currentRoom.getRoomDrawing();
      if (roomArray == null) {
        String[] roomDrawing = this.renderRoom(nextRoom);
        nextRoom.setRoomDrawing(roomDrawing);

        String mapDrawing = this.renderMap(nextRoom);
        Map currentMap = nextRoom.getMap();
        currentMap.setMapDrawing(mapDrawing);
      }

      GameControl gameControl = new GameControl();
      gameControl.updateGame();

      String playerMessage = nextRoom.getName() + "\n" + this.lookAtRoom();
      return playerMessage;
    }
  }
コード例 #20
0
  /** method to display the rooms along with its capacity */
  protected static String listRooms(ArrayList<Room> roomList) {
    String returnMsg = "";
    try {
      System.out.println("Room Name - Capacity");
      System.out.println("---------------------");
      // retrieve room and capacity from the list
      for (Room room : roomList) {
        System.out.println(room.getName() + " - " + room.getCapacity());
      }

      System.out.println("---------------------");
      returnMsg = roomList.size() + " Room(s)";
    } catch (Exception e) {
      logger.log(null, "Error", e);
    }
    return returnMsg;
  }
コード例 #21
0
  /**
   * this method is used to check the availability of rooms based on start date and time
   *
   * @param roomList : Contains the details of room
   * @param avDate : contains the start date
   * @return
   */
  protected static String availableRooms(ArrayList<Room> roomList, String avDate) {
    System.out.println("--Available Rooms--");
    for (Room room : roomList) {
      ArrayList<Meeting> sDate = room.getMeetings();
      String listString = "";

      for (Meeting s : sDate) {
        listString += s + "\t";
      }
      String[] spDate = listString.split(";");

      if (spDate[0] == "" || spDate[0] == avDate) {
        System.out.println(room.getName());
      }
    }
    return "";
  }
コード例 #22
0
ファイル: RoomBoard.java プロジェクト: catabriga/graphwar
  public void paintComponent(Graphics g) {
    resize();

    g.setColor(Color.WHITE);

    g.fillRect(0, 0, this.getWidth() - 1, this.getHeight() - 1);

    g.setColor(Color.BLACK);

    Graphics2D g2d = (Graphics2D) g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setFont(new Font("Sans", Font.BOLD, 14));

    ListIterator<Room> itr = graphwar.getGlobalClient().getRooms().listIterator();
    int i = 0;
    while (itr.hasNext()) {
      Room room = itr.next();

      if (roomFocused) {
        if (focusedRoomNum == i) {
          g2d.setColor(focusColor);
          g2d.fillRect(0, entryHeight * i, width, entryHeight);
        }
      }

      g2d.setColor(Color.BLACK);
      g2d.drawString(" " + room.getName(), 0, entryHeight * (i + 1) - 4);

      String mode = "y";

      if (room.getGameMode() == 1) {
        mode = "y'";
      } else if (room.getGameMode() == 2) {
        mode = "y''";
      }

      g2d.drawString(mode, width - 40, entryHeight * (i + 1) - 7);

      g2d.drawString(room.getNumPlayers() + "/10", width - 110, entryHeight * (i + 1) - 6);

      g2d.drawRect(0, entryHeight * i, width, entryHeight);

      i++;
    }
  }
コード例 #23
0
 @Test
 public void testSetName() throws Exception {
   Room r1 = new Room("testBefore");
   r1.setName("testAfter");
   assertTrue("testAfter".equals(r1.getName()));
 }
コード例 #24
0
 @Test
 public void testGetName() throws Exception {
   Room r1 = new Room("test");
   assertTrue("test".equals(r1.getName()));
 }
コード例 #25
0
ファイル: Dungeon.java プロジェクト: e-dwar/coo-dungeon
 public static boolean gameIsLost() {
   Level level = getCurrentLevel();
   Room room = level.getCurrentRoom();
   return room.getName().equals("trap") || hero.isDead();
 }
コード例 #26
0
ファイル: Dungeon.java プロジェクト: e-dwar/coo-dungeon
 public static boolean gameIsWon() {
   Level level = getCurrentLevel();
   Room room = level.getCurrentRoom();
   return room.getName().equals("exit");
 }
コード例 #27
0
  @Override
  public void run() {
    while (true) {
      try {
        is = new BufferedReader(new InputStreamReader(player.getSocket().getInputStream()));
        line = is.readLine();
        if (line != null) {
          int type = Message.getMessageType(line);
          System.out.println("Message type : " + type);
          List<String> message = Message.getMessage(line);

          switch (type) {

              // USER CONNECT WITH USERNAME
            case 0:
              {
                player.setNickName(message.get(1));
                System.out.println("Player set name " + message.get(1));
                player.sendMessage("user," + player.getId());

                // Client State --> Room Screen, Server Send List Room
                String roomList = "";
                for (Room r : Server.rooms) {
                  roomList +=
                      "," + r.getId() + "," + r.getName() + "," + r.getClients().size() + ", true";
                }
                player.sendMessage("roomlist" + roomList);
                break;
              }

              // USER MOVE
            case 1:
              {
                List<Player> clients = player.getRoom().getClients();
                Room room = player.getRoom();

                int row = Integer.parseInt(message.get(1));
                int col = Integer.parseInt(message.get(2));

                room.Board[row][col] = player.getId();
                List<int[]> res = room.checkWin(row, col, player.getId());

                // This user win
                String converted = "";
                if (!res.isEmpty()) {
                  for (int[] cell : res) {
                    converted += "," + cell[0] + "," + cell[1];
                  }
                  //				room.broadcastMessageWithEx(player, "win," + player.getNickName()+converted
                  // );
                  player.sendMessage("youwin" + converted);
                  player
                      .getRoom()
                      .broadcastMessageWithEx(player, "win," + player.getNickName() + converted);
                  System.out.println("Hasil :" + converted);
                }

                Player turn = clients.get((clients.indexOf(player) + 1) % clients.size());
                room.broadcastMessageToAll(
                    "move,"
                        + message.get(1)
                        + ","
                        + message.get(2)
                        + ","
                        + player.getId()
                        + ","
                        + turn.getId()
                        + ","
                        + turn.getNickName());
                System.out.println(
                    player.getNickName() + " Move to ROW : " + row + " COL : " + col);
                break;
              }

              // USER JOIN ROOM
            case 2:
              {
                Room theRoom = Server.getRoomById(Integer.parseInt(message.get(1)));
                player.setRoom(theRoom);
                player.sendMessage("user," + player.getId());
                theRoom.broadcastMessageWithEx(
                    player, "message,Server," + player.getNickName() + " joins this room ");
                if (theRoom.isStart()) {
                  theRoom.getCreator().sendMessage("canstart");
                }
                System.out.println(
                    "USer  " + player.getNickName() + " join room, room : " + theRoom.getName());
                break;
              }
              // USER CREATE ROOM
            case 3:
              {
                String roomName = message.get(1);
                player.createRoom(roomName);
                player.sendMessage("user," + player.getId());
                System.out.println(player.getNickName() + " create room, room name " + roomName);
                String roomList = "";
                for (Room r : Server.rooms) {
                  roomList +=
                      "," + r.getId() + "," + r.getName() + "," + r.getClients().size() + ", true";
                }
                Server.broadcastMessage("roomlist" + roomList);

                Room theRoom = player.getRoom();
                if (theRoom.isStart()) {
                  theRoom.getCreator().sendMessage("canstart");
                }
                break;
              }
              // PLAYER DISCONNECT
            case 4:
              {
                Room room = player.getRoom();
                try {
                  room.deleteClient(player);
                  room.broadcastMessageToAll("disconnect," + player.getNickName());
                  Server.deleteClient(this);
                  if (room.getClients().isEmpty()) {
                    Server.deletRoom(room);
                    System.out.println("Current Rooms on Server :" + Server.rooms);
                  } else if (message.get(1).equals("ingame")) {
                    List<Player> clients = room.getClients();
                    Player turn = clients.get((clients.indexOf(player) + 1) % clients.size());
                    room.broadcastMessageToAll("turn," + turn.getId() + "," + turn.getNickName());
                  } else if (room.isCreator(player)) {
                    // Change the creator
                    Player newCreator =
                        room.getClients().get(room.getClients().indexOf(player) + 1);
                    room.setCreator(newCreator);
                    newCreator.sendMessage("newcreator");
                  } else {
                    // Check the number to start still sufficient
                    if (room.isStart()) {
                      room.getCreator().sendMessage("canstart");
                    } else {
                      room.getCreator().sendMessage("cantstart");
                    }
                  }

                } catch (NullPointerException ex) {
                  System.out.println(player.getNickName() + " has Disconnected");
                }
                System.out.println(player.getNickName() + " Has DISCONNECTED");
                break;
              }

              // GET START SIGNAL FROM CREATOR
            case 5:
              {
                System.out.println("Get Start Game Signal");
                Room room = player.getRoom();
                room.broadcastMessageToAll("start," + player.getId() + "," + player.getNickName());
                break;
              }

              //			 JOIN ROOM TO SPECTATE
            case 6:
              {
                Room theRoom = Server.getRoomById(Integer.parseInt(message.get(1)));
                player.setRoomAsSpectator(theRoom);
                player.sendMessage("spectate," + player.getId());
                theRoom.broadcastMessageToSpectatorsWithEx(
                    player, "message,Server," + player.getNickName() + " Spectates This Room ");
                System.out.println(
                    "Uuer  "
                        + player.getNickName()
                        + " spectate room, room : "
                        + theRoom.getName());
                break;
              }

              // Spectator Disconnect
            case 7:
              {
                Room room = player.getRoom();
                try {
                  room.deleteSpectator(player);
                  room.broadcastMessageToSpectators("disconnect," + player.getNickName());
                  Server.deleteClient(this);
                } catch (NullPointerException ex) {
                  System.out.println(player.getNickName() + " has Disconnected");
                }
                System.out.println(player.getNickName() + " Has DISCONNECTED");
                break;
              }

              // CHAT WITH OTHER SPECTATORS
            case 8:
              {
                Room room = player.getRoom();
                room.broadcastMessageToSpectators(
                    "message," + player.getNickName() + "," + message.get(1));
                System.out.println("BroadCast Message SPECTATOR " + message.get(1));
                break;
              }

            case -1:
              {
                Room room = player.getRoom();
                room.broadcastMessageToPlayers(
                    "message," + player.getNickName() + "," + message.get(0));
                System.out.println("BroadCast Message " + message.get(0));
                break;
              }
          }
          // Stop thread
          if (type == 4 || type == 7) {
            break;
          }
        }
      } catch (IOException ex) {
        ex.printStackTrace();
        System.out.println("I/O fail");
        System.exit(-1);
      }
    }
  }
コード例 #28
0
ファイル: Booking.java プロジェクト: ashyonline/RoomBooking
 public String getRoomName(Context context) {
   return mRoom.getName(context);
 }
コード例 #29
0
ファイル: World.java プロジェクト: davidgundry/Loamie
  /**
   * Takes a loaded XML document and creates a new World out of it. At the moment loads NPCs but not
   * Player Characters.
   *
   * @param XMLFilePrefix
   * @param latestDate
   * @param df
   * @return
   */
  public void restoreStateFromXML(Document doc) {
    Game.setWorld(new World());

    NodeList wmessageList = doc.getElementsByTagName("welcome-message");
    Element wmessageElement = (Element) wmessageList.item(0);
    NodeList wmessageChildList = wmessageElement.getChildNodes();
    if (((Node) wmessageChildList.item(0)) != null)
      welcomeMessage = ((Node) wmessageChildList.item(0)).getNodeValue().trim();

    NodeList gmessageList = doc.getElementsByTagName("goodbye-message");
    Element gmessageElement = (Element) gmessageList.item(0);
    NodeList gmessageChildList = gmessageElement.getChildNodes();
    if (((Node) gmessageChildList.item(0)) != null)
      goodbyeMessage = ((Node) gmessageChildList.item(0)).getNodeValue().trim();

    // ------ LOAD ROOMS ------- //

    NodeList listOfRooms = doc.getElementsByTagName("room");
    int totalRooms = listOfRooms.getLength();
    if (Game.isDebug()) Game.logMessage("Number of rooms read: " + totalRooms);

    for (int s = 0; s < listOfRooms.getLength(); s++) {

      Node firstRoomNode = listOfRooms.item(s);
      if (firstRoomNode.getNodeType() == Node.ELEMENT_NODE) {

        Element firstRoomElement = (Element) firstRoomNode;

        // -------
        NodeList nameList = firstRoomElement.getElementsByTagName("name");
        Element nameElement = (Element) nameList.item(0);

        NodeList textNameList = nameElement.getChildNodes();
        if (Game.isDebug())
          Game.logMessage("Name : " + ((Node) textNameList.item(0)).getNodeValue().trim());
        String thisName = ((Node) textNameList.item(0)).getNodeValue().trim();

        // -------
        NodeList descriptionList = firstRoomElement.getElementsByTagName("description");
        Element descriptionElement = (Element) descriptionList.item(0);

        NodeList textDescList = descriptionElement.getChildNodes();
        if (Game.isDebug())
          Game.logMessage("Description : " + ((Node) textDescList.item(0)).getNodeValue().trim());
        String thisDesc = ((Node) textDescList.item(0)).getNodeValue().trim();

        Game.getWorld().getRooms().add(new Room(thisName, thisDesc));

        // ------ LOAD DOORS ------- //
        List<Door> newDoors = Door.loadStateFromXML(firstRoomElement);

        // ------ LOAD STANDARD ITEMS ------- //
        List<Item> newItems = Item.loadStateFromXML(firstRoomElement);

        // ----- LOAD GCS -------------//
        List<GameCharacter> newGCs = GameCharacter.loadStateFromXML(firstRoomElement);

        // ----- LOAD NPCS -------------//
        // List<NPCharacter> newNPCs = NPCharacter.loadStateFromXML(firstRoomElement);

        // ------ LOAD MAP ITEMS ------- //
        List<Item> newMapItems = MapItem.loadStateFromXML(firstRoomElement);

        for (int k = 0; k < newDoors.size(); k++)
          Game.getWorld()
              .getRooms()
              .get(Game.getWorld().getRooms().size() - 1)
              .objectEntered(newDoors.get(k));
        for (int k = 0; k < newItems.size(); k++)
          newItems
              .get(k)
              .moveTo(Game.getWorld().getRooms().get(Game.getWorld().getRooms().size() - 1));
        for (int k = 0; k < newMapItems.size(); k++)
          newMapItems
              .get(k)
              .moveTo(Game.getWorld().getRooms().get(Game.getWorld().getRooms().size() - 1));
        for (int k = 0; k < newGCs.size(); k++)
          newGCs.get(k).moveTo(Game.getWorld().getRooms().get(0));
      }
    }

    for (Room room : Game.getWorld().getRooms()) {
      for (Door door : room.getDoors()) {
        if (!door.findTarget(Game.getWorld().getRooms())) {
          Game.logError(
              "Warning: Failed at door "
                  + door.getName()
                  + " in room "
                  + room.getName()
                  + " due to bad target name "
                  + door.getTargetName(),
              null);
          //	return null;
        }
      }
    }

    for (Room room : Game.getWorld().getRooms())
      for (GameCharacter gc : room.getGameCharacters()) gc.lastRoomFromID();

    /*
    // Bert as yet not in any save file
    List<Dialogue> convo2x = new ArrayList<Dialogue>();
    convo2x.add(new Dialogue(1,"\"I will heal you.\"","heal 10 actor"));
    convo2x.add(new Dialogue(2,"\"You said Verb\"","shout dance!"));

    List<Dialogue> convo1x = new ArrayList<Dialogue>();
    convo1x.add(new Dialogue(1,"\"You said Cheese\""));
    convo1x.add(new Dialogue(2,"\"You said Apples\""));

    List<Dialogue> convox = new ArrayList<Dialogue>();
    convox.add(new Dialogue(1,"\"I am Bert, an NPC in this world.\"\n1 Cheese\n2 Apples", convo1x));
    convox.add(new Dialogue(2,"\"What do you need?\"\n1 Healing, please.\n2 A verb, please.", convo2x));

    newWorld.getRooms().get(1).objectEntered(new NPCharacter("Bert","A small green man.","\"Hi there!\"\n1 Tell me about yourself.\n2 Help me!","Farewell then!",convox));

    */
  }
コード例 #30
0
  public String[] renderRoom(Room room) {
    String roomName = room.getName();
    int i = 0;
    // break the room down into pieces by space so each row of the room drawing can have part of a
    // name.  Makes for a narrow room.
    String[] splitRoomName = roomName.split(" ");
    // add spaces to each name in the array to make them uniformly long
    for (int n = 0; n < splitRoomName.length; n++) {
      int spacesNeeded = 11 - splitRoomName[n].length();
      for (int x = 0; x < spacesNeeded; x++) {
        splitRoomName[n] = splitRoomName[n] + " ";
      }
    }
    String[] roomDraw;
    String buildLine = "";

    ArrayList<String> roomDrawList = new ArrayList<>();

    if (room.getNorth() != null) {
      roomDrawList.add(Wall.vertPassage.getWall());
    } else {
      roomDrawList.add(Wall.empty.getWall());
    }

    roomDrawList.add(Wall.xWall.getWall());

    if (splitRoomName.length == 3) {
      roomDrawList.add(Wall.leftWall.getWall() + splitRoomName[i] + Wall.rightWall.getWall());
      i++;
    } else {
      roomDrawList.add(Wall.emptyWall.getWall());
    }

    if (room.getWest() != null) {
      buildLine = Wall.west.getWall() + splitRoomName[i];
    } else {
      buildLine = Wall.leftWall.getWall() + splitRoomName[i];
    }
    i++;

    if (room.getEast() != null) {
      buildLine = buildLine + Wall.east.getWall();
    } else {
      buildLine = buildLine + Wall.rightWall.getWall();
    }

    roomDrawList.add(buildLine);
    if (splitRoomName.length == 2) {
      roomDrawList.add(Wall.leftWall.getWall() + splitRoomName[i] + Wall.rightWall.getWall());
    } else {
      roomDrawList.add(Wall.emptyWall.getWall());
    }
    roomDrawList.add(Wall.xWall.getWall());
    if (room.getSouth() != null) {
      roomDrawList.add(Wall.vertPassage.getWall());
    } else {
      roomDrawList.add(Wall.empty.getWall());
    }
    String[] roomDrawListArray = roomDrawList.toArray(new String[roomDrawList.size()]);

    return roomDrawListArray;
  }