You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.3 KiB
143 lines
4.3 KiB
leftdoor = ds_list_create()
|
|
rightdoor = ds_list_create()
|
|
access = ds_list_create()
|
|
if file_exists("room.txt")
|
|
file_delete("room.txt")
|
|
if file_exists("seed.txt")
|
|
file_delete("seed.txt")
|
|
ds_list_add(leftdoor, 107800)
|
|
ds_list_add(leftdoor, 107661)
|
|
ds_list_add(rightdoor, 107732)
|
|
ds_list_add(rightdoor, 107733)
|
|
while (ds_list_size(leftdoor) > 0)
|
|
{
|
|
ds_list_shuffle(leftdoor)
|
|
ds_list_shuffle(rightdoor)
|
|
door1 = ds_list_find_value(leftdoor, 0)
|
|
door2 = ds_list_find_value(rightdoor, 0)
|
|
ds_list_delete(leftdoor, 0)
|
|
ds_list_delete(rightdoor, 0)
|
|
ds_map_add(global.roommap, door1, door2)
|
|
ds_map_add(global.roommap, door2, door1)
|
|
}
|
|
ds_list_add(leftdoor, 109311)
|
|
ds_list_add(leftdoor, 109308)
|
|
ds_list_add(rightdoor, 109656)
|
|
ds_list_add(rightdoor, 109468)
|
|
while (ds_list_size(leftdoor) > 0)
|
|
{
|
|
ds_list_shuffle(leftdoor)
|
|
ds_list_shuffle(rightdoor)
|
|
door1 = ds_list_find_value(leftdoor, 0)
|
|
door2 = ds_list_find_value(rightdoor, 0)
|
|
ds_list_delete(leftdoor, 0)
|
|
ds_list_delete(rightdoor, 0)
|
|
ds_map_add(global.roommap, door1, door2)
|
|
ds_map_add(global.roommap, door2, door1)
|
|
}
|
|
ds_list_add(access, 108031)
|
|
ds_list_add(access, 108032)
|
|
ds_list_add(access, 108033)
|
|
ds_list_add(access, 108034)
|
|
ds_list_add(access, 108027)
|
|
ds_list_add(leftdoor, 108031)
|
|
ds_list_add(leftdoor, 108032)
|
|
ds_list_add(leftdoor, 108034)
|
|
ds_list_add(leftdoor, 108027)
|
|
ds_list_add(leftdoor, 108285)
|
|
ds_list_add(leftdoor, 108319)
|
|
ds_list_add(leftdoor, 108379)
|
|
ds_list_add(leftdoor, 108437)
|
|
ds_list_add(leftdoor, 108445)
|
|
ds_list_add(leftdoor, 108578)
|
|
ds_list_add(leftdoor, 108490)
|
|
ds_list_add(leftdoor, 108497)
|
|
ds_list_add(leftdoor, 108656)
|
|
ds_list_add(leftdoor, 108722)
|
|
ds_list_add(rightdoor, 108033)
|
|
ds_list_add(rightdoor, 108284)
|
|
ds_list_add(rightdoor, 108314)
|
|
ds_list_add(rightdoor, 108318)
|
|
ds_list_add(rightdoor, 108381)
|
|
ds_list_add(rightdoor, 108458)
|
|
ds_list_add(rightdoor, 108577)
|
|
ds_list_add(rightdoor, 108507)
|
|
ds_list_add(rightdoor, 108510)
|
|
ds_list_add(rightdoor, 108492)
|
|
ds_list_add(rightdoor, 108618)
|
|
ds_list_add(rightdoor, 108657)
|
|
ds_list_add(rightdoor, 108091)
|
|
ds_list_add(rightdoor, 108144)
|
|
while (ds_list_size(leftdoor) > 0)
|
|
{
|
|
ds_list_shuffle(access)
|
|
door1 = ds_list_find_value(access, 0)
|
|
ds_list_delete(access, 0)
|
|
if (ds_list_find_index(leftdoor, door1) != -1)
|
|
{
|
|
ds_list_delete(leftdoor, ds_list_find_index(leftdoor, door1))
|
|
dir = rightdoor
|
|
}
|
|
else
|
|
{
|
|
ds_list_delete(rightdoor, ds_list_find_index(rightdoor, door1))
|
|
dir = leftdoor
|
|
}
|
|
ds_list_shuffle(dir)
|
|
i = 0
|
|
found = 0
|
|
while (i < ds_list_size(dir))
|
|
{
|
|
checkdoor = ds_list_find_value(dir, i)
|
|
if (ds_list_find_index(access, checkdoor) == -1)
|
|
{
|
|
door2 = checkdoor
|
|
room2 = ds_map_find_value(global.instancemap, string(door2))
|
|
ds_list_delete(dir, i)
|
|
ds_list_delete(access, ds_list_find_index(access, door2))
|
|
found = 1
|
|
break
|
|
}
|
|
else
|
|
{
|
|
i += 1
|
|
continue
|
|
}
|
|
}
|
|
if (found == 0)
|
|
{
|
|
door2 = ds_list_find_value(dir, 0)
|
|
room2 = ds_map_find_value(global.instancemap, string(door2))
|
|
ds_list_delete(dir, 0)
|
|
ds_list_delete(access, ds_list_find_index(access, door2))
|
|
}
|
|
file = file_text_open_append("room.txt")
|
|
file_text_write_string(file, string(room2))
|
|
file_text_writeln(file)
|
|
file_text_close(file)
|
|
for (i = 0; i < ds_list_size(leftdoor); i += 1)
|
|
{
|
|
check = ds_list_find_value(leftdoor, i)
|
|
if (ds_map_find_value(global.instancemap, string(check)) == room2)
|
|
ds_list_add(access, check)
|
|
}
|
|
for (i = 0; i < ds_list_size(rightdoor); i += 1)
|
|
{
|
|
check = ds_list_find_value(rightdoor, i)
|
|
if (ds_map_find_value(global.instancemap, string(check)) == room2)
|
|
ds_list_add(access, check)
|
|
}
|
|
fid = file_text_open_append("seed.txt")
|
|
file_text_write_string(fid, (string(door1) + "-"))
|
|
file_text_write_string(fid, (string(door2) + " "))
|
|
for (i = 0; i < ds_list_size(access); i += 1)
|
|
file_text_write_string(fid, (string(ds_list_find_value(access, i)) + " "))
|
|
file_text_writeln(fid)
|
|
file_text_close(fid)
|
|
ds_map_add(global.roommap, door1, door2)
|
|
ds_map_add(global.roommap, door2, door1)
|
|
}
|
|
ds_list_destroy(leftdoor)
|
|
ds_list_destroy(rightdoor)
|
|
ds_list_destroy(access)
|