Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import sys
- import math
- import random as rand
- # The end result is intended to look like a list name House
- # that contains objects inside representing each floor. These
- # objects should also contain the rooms, which should contain
- # k-v pairs representing the type of room, as well as where
- # the windows and doors are positioned in the walls of the room
- # as shown below.
- # House = [Floor1, Floor2, Floor3]
- # Floor1 = [Room_1, Room_2, Room_3, Room_4, staircase_1]
- # Room_1 = {rType : Kitchen, door_1 : middle,
- # door_2 : outside, window : center}
- # staircase_1 = (bottom)
- door_pos = ['inside', 'middle', 'outside']
- window_pos = ['left', 'center', 'right']
- stair_pos = ['top', 'left', 'bottom', 'right']
- room_type = ['Bathroom 1', 'Bathroom 2', 'Kitchen', 'Livingroom',
- 'Bedroom 1', 'Bedroom 2', 'Master Bedroom',
- 'Master Bathroom']
- House = []
- Floor1 = []
- Floor2 = []
- Floor3 = []
- Room_1 = {}
- Room_2 = {}
- Room_3 = {}
- Room_4 = {}
- f1r1 = {}
- f1r2 = {}
- f1r3 = {}
- f1r4 = {}
- f2r1 = {}
- f2r2 = {}
- f2r3 = {}
- f2r4 = {}
- f3r1 = {}
- f3r2 = {}
- f3r3 = {}
- f3r4 = {}
- def Room1Gen():
- rtype = rand.sample(room_type, 1)
- door_1 = rand.sample(door_pos, 1)
- door_2 = rand.sample(door_pos, 1)
- window = rand.sample(window_pos, 1)
- Room_1['rtype'] = rtype[0]
- Room_1['door_1'] = door_1[0]
- Room_1['door_2'] = door_2[0]
- Room_1['window'] = window[0]
- for i in Room_1:
- yield Room_1[i]
- def Room2Gen():
- rtype = rand.sample(room_type, 1)
- door_1 = rand.sample(door_pos, 1)
- door_2 = rand.sample(door_pos, 1)
- window = rand.sample(window_pos, 1)
- Room_2['rtype'] = rtype[0]
- Room_2['door_1'] = door_1[0]
- Room_2['door_2'] = door_2[0]
- Room_2['window'] = window[0]
- for i in Room_2:
- yield Room_2[i]
- def Room3Gen():
- rtype = rand.sample(room_type, 1)
- door_1 = rand.sample(door_pos, 1)
- door_2 = rand.sample(door_pos, 1)
- window = rand.sample(window_pos, 1)
- Room_3['rtype'] = rtype[0]
- Room_3['door_1'] = door_1[0]
- Room_3['door_2'] = door_2[0]
- Room_3['window'] = window[0]
- for i in Room_3:
- yield Room_3[i]
- def Room4Gen():
- rtype = rand.sample(room_type, 1)
- door_1 = rand.sample(door_pos, 1)
- door_2 = rand.sample(door_pos, 1)
- window = rand.sample(window_pos, 1)
- Room_4['rtype'] = rtype[0]
- Room_4['door_1'] = door_1[0]
- Room_4['door_2'] = door_2[0]
- Room_4['window'] = window[0]
- for i in Room_4:
- yield Room_4[i]
- room1 = Room1Gen()
- room2 = Room2Gen()
- room3 = Room3Gen()
- room4 = Room4Gen()
- try:
- for i in range(5):
- next(room1)
- next(room2)
- next(room3)
- next(room4)
- except StopIteration:
- pass
- Floor1.append(f1r1)
- Floor1.append(f1r2)
- Floor1.append(f1r3)
- Floor1.append(f1r4)
- Floor2.append(f2r1)
- # Floor2.append(f2r2)
- # Floor2.append(f2r3)
- # Floor2.append(f2r4)
- # Floor3.append(f3r1)
- # Floor3.append(f3r2)
- # Floor3.append(f3r3)
- # Floor3.append(f3r4)
- House.append(Floor1)
- House.append(Floor2)
- House.append(Floor3)
- f1r1.update(Room_1)
- f1r2.update(Room_2)
- f1r3.update(Room_3)
- f1r4.update(Room_4)
- del(Room_1)
- del(Room_2)
- del(Room_3)
- del(Room_4)
- Room_1 = {}
- Room_2 = {}
- Room_3 = {}
- Room_4 = {}
- try:
- for i in range(5):
- next(room1)
- next(room2)
- next(room3)
- next(room4)
- except StopIteration:
- pass
- f2r1.update(Room_1)
- # f2r2.update(Room_2)
- # f2r3.update(Room_3)
- # f2r4.update(Room_4)
- # del(Room_1)
- # del(Room_2)
- # del(Room_3)
- # del(Room_4)
- # Room_1 = {}
- # Room_2 = {}
- # Room_3 = {}
- # Room_4 = {}
- # try:
- # for i in range(5):
- # next(room1)
- # next(room2)
- # next(room3)
- # next(room4)
- # except StopIteration:
- # pass
- # f3r1.update(Room_1)
- # f3r2.update(Room_2)
- # f3r3.update(Room_3)
- # f3r4.update(Room_4)
- # del(Room_1)
- # del(Room_2)
- # del(Room_3)
- # del(Room_4)
- # If iterations of RoomGen1-4 to be applied to each
- # of the floors with some level of independence
- # there will need to be seperate variables for each
- # room of each floor. There should be a way to dynamcally
- # create and name these variables.
- # Room_1.copy(f1r1)
- # so on and so forth. The only issue this raises would be a
- # massive amount of dictionaries and lists which could
- # quickly increase processing time.
- print('This is the layout of the House:')
- roomtype = 'rtype'
- # print(f1r1)
- # print(f1r1['door_1'])
- print(House)
- # for floor in House:
- # for room in floor:
- # print('hello')
- for floor_number, floor in enumerate(House):
- print('Floor', floor_number + 1, ': ', sep='', end='')
- for room in floor:
- print(room[roomtype], end=' ')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement