-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
90 lines (78 loc) · 3.04 KB
/
main.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import core
#settings = core.Settings(["a", "b"], 0, 6, 20)
settings = core.requestSettings()
game = core.Game(settings)
import visual
previous_time = 0
def refreshWindows(game):
global previous_time
if (game.is_active_turn):
t = game.get_time_remaining()
if (t < 4):
if (t != previous_time and t == 0):
visual.curses.flash()
visual.writeWord(visual.time_screen, "00:0%d" % t, visual.curses.A_DIM, visual.red)
previous_time = t
else:
visual.writeWord(visual.time_screen, "00:" + str(t).rjust(2, '0'))
else:
visual.writeWord(visual.time_screen, " ")
def switchResults():
global results_active
if (not results_active):
visual.showResults(game.get_results())
results_active = True
else:
visual.hideResults()
results_active = False
results_active = False
log = open("log.txt", "w")
core.time.sleep(1)
while (game.get_current_words_amount() > 0):
pair_row = " -> ".join(game.get_pair_names())
print(pair_row, file=log)
visual.writeWord(visual.players_screen, pair_row)
visual.writeWord(visual.word_screen, game.get_current_word())
visual.writeWord(visual.time_screen, " ")
visual.buttons_screen.nodelay(0)
character = -1
turn_begins = False
while (not turn_begins):
character = visual.buttons_screen.getch()
if (character == '\n'):
turn_begins = True
elif character == visual.curses.KEY_MOUSE:
mouse_id, x, y, z, state = visual.curses.getmouse()
if not results_active and visual.pointInBox((x, y), visual.word_screen):
turn_begins = True
elif visual.pointInBox((x, y), visual.buttons_screen):
switchResults()
elif visual.pointInBox((x, y), visual.exit_button):
visual.close_curses()
exit(0)
visual.buttons_screen.nodelay(1)
game.turn()
visual.writeWord(visual.word_screen, game.get_current_word())
while game.is_active_turn:
refreshWindows(game)
character = visual.buttons_screen.getch()
if (character == ord('\n')):
game.success_word()
visual.writeWord(visual.word_screen, game.get_current_word())
elif character == visual.curses.KEY_MOUSE:
mouse_id, x, y, z, state = visual.curses.getmouse()
if visual.pointInBox((x, y), visual.word_screen):
game.success_word()
visual.writeWord(visual.word_screen, game.get_current_word())
elif visual.pointInBox((x, y), visual.exit_button):
visual.close_curses()
exit(0)
visual.showResults(game.get_results())
while True:
character = visual.buttons_screen.getch()
if character == visual.curses.KEY_MOUSE:
mouse_id, x, y, z, state = visual.curses.getmouse()
if visual.pointInBox((x, y), visual.exit_button) or \
visual.pointInBox((x, y), visual.buttons_screen):
visual.close_curses()
exit(0)