curses.init_pair(3, curses.COLOR_RED, curses.COLOR_BLACK)
curses.init_pair(4, curses.COLOR_YELLOW, curses.COLOR_BLACK)
curses.init_pair(5, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
+ curses.init_pair(6, curses.COLOR_BLACK, curses.COLOR_BLUE)
col_unknown = curses.color_pair(1)
col_mem_obstacle = curses.color_pair(2)
col_mem = curses.color_pair(2)
col_dirt = curses.color_pair(4)
col_earth = curses.color_pair(3)
col_player = curses.color_pair(5)
+ col_water = curses.color_pair(6)
for y in range(world_data["map_size"]):
for x in range(world_data["map_size"]):
pos = y * world_data["map_size"] + x
bonus = (" ", attribute)
winmap += [(char, attribute), bonus]
else:
- bonus_char = " "
attribute = col_stone
+ bonus = " "
if char == ".":
attribute = col_dirt
elif char == ":":
attribute = col_earth
elif char == "#":
attribute = col_dirt
+ elif char == "~":
+ attribute = col_water
elif char == "o":
attribute = col_player
- bonus_char = char
- bonus = (bonus_char, attribute)
+ bonus = (char, attribute)
winmap += [(char, attribute), bonus]
if y % 2 == 0:
winmap += " "
if y == 0 or y == (length - 1) or x == 0 or x == (length - 1):
break
world_db["MAP"][pos] = ord("#")
- n_trees = int((length ** 2) / 16)
- i_trees = 0
- while (i_trees <= n_trees):
+ n_ground = int((length ** 2) / 16)
+ i_ground = 0
+ while (i_ground <= n_ground):
single_allowed = rand.next() % 32
y, x, pos = new_pos()
if "#" == chr(world_db["MAP"][pos]) \
and ((not single_allowed) or is_neighbor((y, x), "_")):
world_db["MAP"][pos] = ord("_")
- i_trees += 1
+ i_ground += 1
+ n_water = int((length ** 2) / 64)
+ i_water = 0
+ while (i_water <= n_water):
+ single_allowed = rand.next() % 32
+ y, x, pos = new_pos()
+ if "_" == chr(world_db["MAP"][pos]) \
+ and ((not single_allowed) or is_neighbor((y, x), "~")):
+ world_db["MAP"][pos] = ord("~")
+ i_water += 1
def calc_effort(ta, t):