Here is the code:
import random
import numpy as np
class Room:
  def __init__(self, name, contents):
    self.name = name
    self.contents = contents
rooms = np.zeros((11, 11))
maxRooms = 7
possibleNextRoom = []
def resetLevel():
  global rooms
  for r in range(len(rooms[0])):
    for c in range(len(rooms[1])):
      rooms[r][c] = 0
  possibleNextRoom = []
halfHeight = int(len(rooms[1]) / 2)
halfWidth = int(len(rooms[0]) / 2)
rooms[halfWidth][halfHeight] = 1
def countRooms():
  global rooms
  roomCount = 0
  for r in range(len(rooms)):
    for c in range(len(rooms)):
      if rooms[r][c] == 1:
        roomCount += 1
  return roomCount
def findPossibleRooms():
  for r in range(len(rooms) - 1):
    for c in range(len(rooms) - 1):
      if rooms[r][c] == 1:
        if rooms[r][c+1] != 1:
          possibleNextRoom.append((r, c+1))
        if rooms[r][c-1] != 1:
          possibleNextRoom.append((r, c-1))
        if rooms[r-1][c] != 1:
          possibleNextRoom.append((r-1, c))
        if rooms[r+1][c] != 1:
          possibleNextRoom.append((r+1, c))
def addRoom():
  nextRoom = random.randrange(0, len(possibleNextRoom))
  rooms[possibleNextRoom[nextRoom][0]][possibleNextRoom[nextRoom][1]] = 1
  possibleNextRoom.pop(nextRoom)
def generateLevel():
  resetLevel()
  while countRooms() < maxRooms:
    countRooms()
    findPossibleRooms()
    addRoom()
def displayLevel():
  print(rooms)
generateLevel()
displayLevel()
Here is the Error:
ValueError: empty range for randrange() (0, 0, 0)
I thought I was using random correctly, but appearantly not. I tried making the array start with something in it, but it still gave me the same error. I have been working on this for a long time and its giving me a headache. Any help with this is greatly appreciated. The error is on line 54.
 
    