| @@ 1120-1143 (lines=24) @@ | ||
| 1117 | else: |
|
| 1118 | libtcod.console_set_char_background(sample_console, x, y, fov_dark_ground, |
|
| 1119 | libtcod.BKGND_SET) |
|
| 1120 | if key.vk in (libtcod.KEY_ENTER ,libtcod.KEY_KPENTER): |
|
| 1121 | bsp_generate = True |
|
| 1122 | elif key.c==ord(' '): |
|
| 1123 | bsp_refresh = True |
|
| 1124 | elif key.c == ord('+'): |
|
| 1125 | bsp_depth += 1 |
|
| 1126 | bsp_generate = True |
|
| 1127 | elif key.c == ord('-') and bsp_depth > 1: |
|
| 1128 | bsp_depth -= 1 |
|
| 1129 | bsp_generate = True |
|
| 1130 | elif key.c==ord('*'): |
|
| 1131 | bsp_min_room_size += 1 |
|
| 1132 | bsp_generate = True |
|
| 1133 | elif key.c == ord('/') and bsp_min_room_size > 2: |
|
| 1134 | bsp_min_room_size -= 1 |
|
| 1135 | bsp_generate = True |
|
| 1136 | elif key.c == ord('1') or key.vk in (libtcod.KEY_1, libtcod.KEY_KP1): |
|
| 1137 | bsp_random_room = not bsp_random_room |
|
| 1138 | if not bsp_random_room: |
|
| 1139 | bsp_room_walls = True |
|
| 1140 | bsp_refresh = True |
|
| 1141 | elif key.c == ord('2') or key.vk in (libtcod.KEY_2, libtcod.KEY_KP2): |
|
| 1142 | bsp_room_walls = not bsp_room_walls |
|
| 1143 | bsp_refresh = True |
|
| 1144 | ||
| 1145 | ############################################# |
|
| 1146 | # image sample |
|
| @@ 970-993 (lines=24) @@ | ||
| 967 | if bsp_random_room: |
|
| 968 | rooms = 'ON' |
|
| 969 | libtcod.console_print(sample_console, 1, 1, |
|
| 970 | "ENTER : rebuild bsp\n" |
|
| 971 | "SPACE : rebuild dungeon\n" |
|
| 972 | "+-: bsp depth %d\n" |
|
| 973 | "*/: room size %d\n" |
|
| 974 | "1 : random room size %s" |
|
| 975 | % (bsp_depth, bsp_min_room_size, rooms)) |
|
| 976 | if bsp_random_room: |
|
| 977 | walls = 'OFF' |
|
| 978 | if bsp_room_walls: |
|
| 979 | walls = 'ON' |
|
| 980 | libtcod.console_print(sample_console, 1, 6, |
|
| 981 | '2 : room walls %s' % walls) |
|
| 982 | # render the level |
|
| 983 | for y in range(SAMPLE_SCREEN_HEIGHT): |
|
| 984 | for x in range(SAMPLE_SCREEN_WIDTH): |
|
| 985 | if not bsp_map[x][y]: |
|
| 986 | libtcod.console_set_char_background( |
|
| 987 | sample_console, x, y, DARK_WALL, libtcod.BKGND_SET) |
|
| 988 | else: |
|
| 989 | libtcod.console_set_char_background( |
|
| 990 | sample_console, x, y, DARK_GROUND, libtcod.BKGND_SET) |
|
| 991 | ||
| 992 | def on_key(self, key): |
|
| 993 | global bsp, bsp_generate, bsp_refresh, bsp_map |
|
| 994 | global bsp_random_room, bsp_room_walls, bsp_depth, bsp_min_room_size |
|
| 995 | if key.vk in (libtcod.KEY_ENTER, libtcod.KEY_KPENTER): |
|
| 996 | bsp_generate = True |
|