From 4327b756a48f0187574ad21ae78c852f04c057bf Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 9 Mar 2016 22:35:55 +0100 Subject: [PATCH] TCE: Add water. --- plugins/client/TheCrawlingEater.py | 9 ++++++--- plugins/server/TheCrawlingEater.py | 17 +++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/plugins/client/TheCrawlingEater.py b/plugins/client/TheCrawlingEater.py index a1af9c2..106fc5b 100644 --- a/plugins/client/TheCrawlingEater.py +++ b/plugins/client/TheCrawlingEater.py @@ -34,6 +34,7 @@ def win_map(self): 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) @@ -41,6 +42,7 @@ def win_map(self): 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 @@ -61,8 +63,8 @@ def win_map(self): bonus = (" ", attribute) winmap += [(char, attribute), bonus] else: - bonus_char = " " attribute = col_stone + bonus = " " if char == ".": attribute = col_dirt elif char == ":": @@ -71,10 +73,11 @@ def win_map(self): 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 += " " diff --git a/plugins/server/TheCrawlingEater.py b/plugins/server/TheCrawlingEater.py index e23f00f..355b025 100644 --- a/plugins/server/TheCrawlingEater.py +++ b/plugins/server/TheCrawlingEater.py @@ -124,15 +124,24 @@ def make_map(): 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): -- 2.30.2