@@ 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 |