def save_world():
- """Save all commands needed to reconstruct current world state."""
+ """Save all commands needed to reconstruct current world state."""
# TODO: Misses same optimizations as record() from the original record().
def quote(string):
def remake_map():
- # DUMMY.
- print("I'd (re-)make the map now, if only I knew how.")
+ # DUMMY map creator.
+ world_db["MAP"] = bytearray(b'.' * (world_db["MAP_LENGTH"] ** 2))
def set_world_inactive():
def command_maplength(maplength_string):
# DUMMY.
set_world_inactive()
- # TODO: remove map
+ # TODO: remove map (is this necessary? no memory management trouble …)
world_db["Things"] = {}
setter(None, "MAP_LENGTH", 1, 256)(maplength_string)
# DUMMY.
val = integer_test(worldactive_string, 0, 1)
if val:
- if 0 != world_db["WORLD_ACTIVE"] and 0 == val:
- set_world_inactive()
+ if 0 != world_db["WORLD_ACTIVE"]:
+ if 0 == val:
+ set_world_inactive()
+ else:
+ print("World already active.")
elif 0 == world_db["WORLD_ACTIVE"]:
wait_exists = False
+ for ThingAction in world_db["ThingActions"]:
+ if "wait" == ThingAction["TA_NAME"]:
+ wait_exists = True
+ break
player_exists = False
- map_exists = False
- # TODO: perform tests:
- # Is there thing action of name 'wait'?
- # Is there a player thing?
- # Is there a map?
+ for Thing in world_db["Things"]:
+ if 0 == ThingAction["T_ID"]:
+ player_exists = True
+ break
+ map_exists = "MAP" in world_db
if wait_exists and player_exists and map_exists:
- # TODO: rebuild al things' FOVs, map memories
+ # TODO: rebuild all things' FOVs, map memories
world_db["WORLD_ACTIVE"] = 1