-
Notifications
You must be signed in to change notification settings - Fork 0
/
items.py
73 lines (69 loc) · 2.52 KB
/
items.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from libtcod import libtcodpy as libtcod
import map_vars as M
import console as cons
def item_selector(items, default=None, equipped=[], title="INVENTORY"):
libtcod.console_clear(cons.menu_console)
libtcod.console_set_default_background(cons.menu_console, libtcod.black)
libtcod.console_set_default_foreground(cons.menu_console, libtcod.white)
libtcod.console_rect(cons.menu_console, 0, 0, M.MAP_WIDTH, M.MAP_HEIGHT, True)
libtcod.console_print_ex(cons.menu_console,
40, 0, libtcod.BKGND_NONE, libtcod.CENTER, title)
libtcod.console_print_ex(cons.menu_console,
1, M.SCREEN_HEIGHT-1, libtcod.LEFT,
libtcod.BKGND_NONE,
"[j / k]: Highlight item [SPACEBAR]: Select [q]: quit")
count = 0
for item in items:
libtcod.console_print_ex(cons.menu_console,
1, count+3, libtcod.BKGND_NONE, libtcod.LEFT, item.name)
if item in equipped:
libtcod.console_print_ex(cons.menu_console,
libtcod.console_get_width(cons.menu_console)-1,
count+3,
libtcod.BKGND_NONE,
libtcod.RIGHT,
"(EQUIPPED)")
count = count + 1
if default:
count = items.index(default)
else:
count = count -1
key = libtcod.console_check_for_keypress(True)
while not key.vk == libtcod.KEY_SPACE and not ord('q') == key.c:
for i in range(len(items[count].name)):
libtcod.console_set_char_background(cons.menu_console,
i+1,
count+3,
libtcod.white)
libtcod.console_set_char_foreground(cons.menu_console,
i+1,
count+3,
libtcod.black)
if key.pressed and key.c == ord('k') and count > 0:
for i in range(len(items[count].name)):
libtcod.console_set_char_background(cons.menu_console,
i+1,
count+3,
libtcod.black)
libtcod.console_set_char_foreground(cons.menu_console,
i+1,
count+3,
libtcod.white)
count = count -1
elif key.pressed and key.c == ord('j') and count < len(items)-1:
for i in range(len(items[count].name)):
libtcod.console_set_char_background(cons.menu_console,
i+1,
count+3,
libtcod.black)
libtcod.console_set_char_foreground(cons.menu_console,
i+1,
count+3,
libtcod.white)
count = count +1
key = libtcod.console_check_for_keypress(True)
libtcod.console_blit(cons.menu_console,0,0,M.SCREEN_WIDTH,M.SCREEN_HEIGHT,0,0,0,1)
libtcod.console_flush()
if ord('q') == key.c:
count=-1
return count