stop = [0, 0]
for i in range(2):
stop[i] = win["size"][i] + offset[i]
- stop[i] = stop[i] if stop[i] < size[i] else size[i]
+ if stop[i] >= winmap_size[i]:
+ stop[i] = winmap_size[i]
for y in range(offset[0], stop[0]):
for x in range(offset[1], stop[1]):
- cell = winmap[y * size[1] + x]
+ cell = winmap[y * winmap_size[1] + x]
y_in_screen = win["start"][0] + (y - offset[0])
x_in_screen = win["start"][1] + (x - offset[1])
if (y_in_screen < screen_size[0]
pos_1 = win["start"][i]
draw_scroll_arrows('^', '<')
draw_scroll_string(offset[i])
- if (size[i] > offset[i] + win["size"][i]):
+ if (winmap_size[i] > offset[i] + win["size"][i]):
pos_1 = win["start"][i] + win["size"][i] - 1
draw_scroll_arrows('v', '>')
- draw_scroll_string(size[i] - offset[i] - win["size"][i])
+ draw_scroll_string(winmap_size[i] - offset[i]
+ - win["size"][i])
for win in windows:
- offset, size, winmap = win["func"]()
+ offset, winmap_size, winmap = win["func"]()
draw_winmap()
draw_scroll_hints()
world_data["turn"] = int(turn_string)
world_data["lifepoints"] = int(worldstate_file.readline())
world_data["satiation"] = int(worldstate_file.readline())
+ world_data["inventory"] = []
+ while True:
+ line = worldstate_file.readline().replace("\n", "")
+ if line == '%':
+ break
+ world_data["inventory"] += [line]
worldstate_file.close()
read_worldstate.last_checked_mtime = -1
def win_foo():
winmap = ['.', 'o', '.', 'o', 'O', 'o', '.', 'o', '.', 'x', 'y', 'x']
- size = [4, 3]
+ winmap_size = [4, 3]
offset = [0, 0]
- return offset, size, winmap
+ return offset, winmap_size, winmap
+
+
+def win_inventory():
+ winmap = ""
+ winmap_size = [0, 0]
+ for line in world_data["inventory"]:
+ winmap_size[1] = winmap_size[1] if len(line) <= winmap_size[1] \
+ else len(line)
+ for line in world_data["inventory"]:
+ padding_size = winmap_size[1] - len(line)
+ winmap += line + (" " * padding_size)
+ winmap_size[0] = winmap_size[0] + 1
+ offset = [0, 0]
+ return offset, winmap_size, winmap
def win_info():
winmap = "T: " + str(world_data["turn"]) \
+ " H: " + str(world_data["lifepoints"]) \
+ " S: " + str(world_data["satiation"])
- size = [1, len(winmap)]
+ winmap_size = [1, len(winmap)]
offset = [0, 0]
- return offset, size, winmap
+ return offset, winmap_size, winmap
def win_log():
windows = [
{"config": [1, 33], "func": win_info},
{"config": [-7, 33], "func": win_log},
- {"config": [4, 16], "func": win_foo},
+ {"config": [4, 16], "func": win_inventory},
{"config": [4, 16], "func": win_foo},
{"config": [0, -34], "func": win_foo}
]
"messages": []
}
world_data = {
+ "inventory": [],
"lifepoints": -1,
"log": [],
"satiation": -1,