public int remConnections(int direction){ if (curConnections(ALL) >= maxConnections(ALL)) return 0; else return maxConnections(direction) - curConnections(direction); }
public int remConnections(int direction){ if (curConnections(ALL) >= maxConnections(ALL)) return 0; else return maxConnections(direction) - curConnections(direction); }
protected void setupRooms(ArrayList<Room> rooms){ for(Room r : rooms){ r.setEmpty(); } entrance = exit = shop = null; singleConnections.clear(); multiConnections.clear(); for (Room r : rooms){ if (r instanceof EntranceRoom){ entrance = r; } else if (r instanceof ExitRoom) { exit = r; } else if (r instanceof ShopRoom && r.maxConnections(Room.ALL) == 1){ shop = r; } else if (r.maxConnections(Room.ALL) > 1){ multiConnections.add(r); } else if (r.maxConnections(Room.ALL) == 1){ singleConnections.add(r); } } //this weights larger rooms to be much more likely to appear in the main loop, by placing them earlier in the multiconnections list weightRooms(multiConnections); Random.shuffle(multiConnections); multiConnections = new ArrayList<>(new LinkedHashSet<>(multiConnections)); }
protected void setupRooms(ArrayList<Room> rooms){ for(Room r : rooms){ r.setEmpty(); } entrance = exit = shop = null; singleConnections.clear(); multiConnections.clear(); for (Room r : rooms){ if (r instanceof EntranceRoom){ entrance = r; } else if (r instanceof ExitRoom) { exit = r; } else if (r instanceof ShopRoom && r.maxConnections(Room.ALL) == 1){ shop = r; } else if (r.maxConnections(Room.ALL) > 1){ multiConnections.add(r); } else if (r.maxConnections(Room.ALL) == 1){ singleConnections.add(r); } } //this weights larger rooms to be much more likely to appear in the main loop, by placing them earlier in the multiconnections list weightRooms(multiConnections); Random.shuffle(multiConnections); multiConnections = new ArrayList<>(new LinkedHashSet<>(multiConnections)); }
if (Random.Int(3) <= 1) branchable.add(connectingRoomsThisBranch.get(j)); if (r.maxConnections(Room.ALL) > 1 && Random.Int(3) == 0) { if (r instanceof StandardRoom){ for (int j = 0; j < ((StandardRoom) r).sizeCat.connectionWeight(); j++){
if (Random.Int(3) <= 1) branchable.add(connectingRoomsThisBranch.get(j)); if (r.maxConnections(Room.ALL) > 1 && Random.Int(3) == 0) { if (r instanceof StandardRoom){ for (int j = 0; j < ((StandardRoom) r).sizeCat.connectionWeight(); j++){