Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -9,11 +9,12 @@ from classes.Qlearningagent import QlearningAgent
|
|
9 |
|
10 |
def main():
|
11 |
custom_css = """
|
|
|
12 |
.gradio-button {
|
13 |
width: 75px; /* Defina a largura desejada */
|
14 |
height: 75px; /* Defina a altura desejada */
|
15 |
-
background-color:
|
16 |
-
color:
|
17 |
border: none; /* Remove a borda */
|
18 |
text-align: center; /* Centraliza o texto horizontalmente */
|
19 |
text-decoration: none; /* Remove a decoração do texto */
|
@@ -32,13 +33,12 @@ def main():
|
|
32 |
board.move(i,j,int(usr))
|
33 |
w = board.check_win()
|
34 |
temp-=1
|
35 |
-
return gr.update(size='lg', scale = 0, min_width = 100, value=usr_piece, interactive=True), gr.Number(value=temp, visible=False), gr.Number(value=w, visible=False), board
|
36 |
else:
|
37 |
-
return gr.update(size='lg', scale = 0, min_width = 100, interactive=True), gr.update(value=temp, visible=False),gr.update(visible=False)
|
38 |
|
39 |
|
40 |
def ia_move(board,game_over,ia):
|
41 |
-
|
42 |
if int(game_over) == -1:
|
43 |
state_board = board.matriz.copy()
|
44 |
avaible_moves = board.get_avaible_moves()
|
@@ -48,43 +48,46 @@ def main():
|
|
48 |
board.move(i,j,int(ia))
|
49 |
w = board.check_win()
|
50 |
#buttons
|
51 |
-
retornos_btn = [gr.Button(size='lg', scale = 0, min_width = 100, interactive=True)]*(action+1)
|
52 |
-
retornos_btn[-1] = gr.Button(size='lg', scale = 0, min_width = 100, interactive=True, value=ia_piece)
|
53 |
-
retornos_btn.extend([gr.Button(size='lg', scale = 0, min_width = 100, interactive=True)]*(9 - action-1))
|
54 |
retornos_btn.append(gr.Number(value=w, visible=False))
|
55 |
retornos_btn.append(board)
|
56 |
|
57 |
return retornos_btn
|
58 |
else:
|
59 |
-
retornos_btn = [gr.Button(size='lg', scale = 0, min_width = 100, interactive=True)]*9
|
60 |
retornos_btn.append(gr.Number(visible=False))
|
61 |
retornos_btn.append(board)
|
62 |
|
63 |
return retornos_btn
|
64 |
|
65 |
def set_col_visible(board,game_over,temp,usr,ia,selected):
|
66 |
-
game_over = -1
|
67 |
usr = 1 if selected == 'X' else 2
|
68 |
ia = 2 if usr == 1 else 1
|
69 |
-
|
|
|
70 |
if selected == 'X':
|
71 |
retorn_buttons.append(gr.Number(value=temp, visible=False))
|
72 |
retorn_buttons.append(gr.Number(value=-1, visible=False))
|
73 |
retorn_buttons.append(gr.Number(value=ia, visible=False))
|
74 |
retorn_buttons.append(gr.Number(value=usr, visible=False))
|
|
|
75 |
retorn_buttons.append(board)
|
|
|
76 |
else:
|
77 |
retorn_buttons = ia_move(board,game_over,ia)
|
78 |
retorn_buttons.insert(-1,gr.Number(value=-1, visible=False))
|
79 |
retorn_buttons.insert(-1,gr.Number(value=ia, visible=False))
|
80 |
retorn_buttons.insert(-1,gr.Number(value=usr, visible=False))
|
81 |
|
|
|
82 |
return retorn_buttons
|
83 |
|
84 |
|
85 |
def reset(board):
|
86 |
board.reset_matrix()
|
87 |
-
buttons = [gr.Button(size='lg', scale = 0, min_width = 100,elem_classes='gradio-button',interactive=False)]*9
|
88 |
buttons.append(board)
|
89 |
return buttons
|
90 |
|
@@ -108,7 +111,7 @@ def main():
|
|
108 |
return gr.update(value=msg, show_label=False), gr.Number(value=int(game_over), visible=False)
|
109 |
|
110 |
parser = argparse.ArgumentParser()
|
111 |
-
parser.add_argument('--file_name', type=str, required=False, default='models/q_agent-0.
|
112 |
args = parser.parse_args()
|
113 |
q_agent= QlearningAgent(epsilon=0,alpha=0,discount_factor=0, train=False)
|
114 |
q_agent.load_agent_dict(args.file_name)
|
@@ -118,17 +121,17 @@ def main():
|
|
118 |
with gr.Column() as x:
|
119 |
title = gr.Text(value='Escolha uma peça', show_label=False)
|
120 |
with gr.Row():
|
121 |
-
p1 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
122 |
-
p2 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
123 |
-
p3 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
124 |
with gr.Row():
|
125 |
-
p4 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
126 |
-
p5 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
127 |
-
p6 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
128 |
with gr.Row():
|
129 |
-
p7 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
130 |
-
p8 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
131 |
-
p9 = gr.Button(size='lg', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
132 |
|
133 |
n1 = gr.Number(value="1", visible=False)
|
134 |
n2 = gr.Number(value="2", visible=False)
|
|
|
9 |
|
10 |
def main():
|
11 |
custom_css = """
|
12 |
+
#color {background-color: #00BFFF}
|
13 |
.gradio-button {
|
14 |
width: 75px; /* Defina a largura desejada */
|
15 |
height: 75px; /* Defina a altura desejada */
|
16 |
+
background-color: #6495ED; /* Cor de fundo azul */
|
17 |
+
color: black; /* Cor do texto (branco neste caso) */
|
18 |
border: none; /* Remove a borda */
|
19 |
text-align: center; /* Centraliza o texto horizontalmente */
|
20 |
text-decoration: none; /* Remove a decoração do texto */
|
|
|
33 |
board.move(i,j,int(usr))
|
34 |
w = board.check_win()
|
35 |
temp-=1
|
36 |
+
return gr.update(size='lg',elem_id='color', scale = 0, min_width = 100, value=usr_piece, interactive=True), gr.Number(value=temp, visible=False), gr.Number(value=w, visible=False), board
|
37 |
else:
|
38 |
+
return gr.update(size='lg',elem_id='color', scale = 0, min_width = 100, interactive=True), gr.update(value=temp, visible=False),gr.update(visible=False)
|
39 |
|
40 |
|
41 |
def ia_move(board,game_over,ia):
|
|
|
42 |
if int(game_over) == -1:
|
43 |
state_board = board.matriz.copy()
|
44 |
avaible_moves = board.get_avaible_moves()
|
|
|
48 |
board.move(i,j,int(ia))
|
49 |
w = board.check_win()
|
50 |
#buttons
|
51 |
+
retornos_btn = [gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100, interactive=True)]*(action+1)
|
52 |
+
retornos_btn[-1] = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100, interactive=True, value=ia_piece)
|
53 |
+
retornos_btn.extend([gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100, interactive=True)]*(9 - action-1))
|
54 |
retornos_btn.append(gr.Number(value=w, visible=False))
|
55 |
retornos_btn.append(board)
|
56 |
|
57 |
return retornos_btn
|
58 |
else:
|
59 |
+
retornos_btn = [gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100, interactive=True)]*9
|
60 |
retornos_btn.append(gr.Number(visible=False))
|
61 |
retornos_btn.append(board)
|
62 |
|
63 |
return retornos_btn
|
64 |
|
65 |
def set_col_visible(board,game_over,temp,usr,ia,selected):
|
|
|
66 |
usr = 1 if selected == 'X' else 2
|
67 |
ia = 2 if usr == 1 else 1
|
68 |
+
game_over = -1
|
69 |
+
retorn_buttons = [gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=True)]*9
|
70 |
if selected == 'X':
|
71 |
retorn_buttons.append(gr.Number(value=temp, visible=False))
|
72 |
retorn_buttons.append(gr.Number(value=-1, visible=False))
|
73 |
retorn_buttons.append(gr.Number(value=ia, visible=False))
|
74 |
retorn_buttons.append(gr.Number(value=usr, visible=False))
|
75 |
+
|
76 |
retorn_buttons.append(board)
|
77 |
+
|
78 |
else:
|
79 |
retorn_buttons = ia_move(board,game_over,ia)
|
80 |
retorn_buttons.insert(-1,gr.Number(value=-1, visible=False))
|
81 |
retorn_buttons.insert(-1,gr.Number(value=ia, visible=False))
|
82 |
retorn_buttons.insert(-1,gr.Number(value=usr, visible=False))
|
83 |
|
84 |
+
|
85 |
return retorn_buttons
|
86 |
|
87 |
|
88 |
def reset(board):
|
89 |
board.reset_matrix()
|
90 |
+
buttons = [gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,elem_classes='gradio-button',interactive=False)]*9
|
91 |
buttons.append(board)
|
92 |
return buttons
|
93 |
|
|
|
111 |
return gr.update(value=msg, show_label=False), gr.Number(value=int(game_over), visible=False)
|
112 |
|
113 |
parser = argparse.ArgumentParser()
|
114 |
+
parser.add_argument('--file_name', type=str, required=False, default='models/q_agent-0.9ep-0.6ap-0.9-1000r.json')
|
115 |
args = parser.parse_args()
|
116 |
q_agent= QlearningAgent(epsilon=0,alpha=0,discount_factor=0, train=False)
|
117 |
q_agent.load_agent_dict(args.file_name)
|
|
|
121 |
with gr.Column() as x:
|
122 |
title = gr.Text(value='Escolha uma peça', show_label=False)
|
123 |
with gr.Row():
|
124 |
+
p1 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
125 |
+
p2 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
126 |
+
p3 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
127 |
with gr.Row():
|
128 |
+
p4 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
129 |
+
p5 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
130 |
+
p6 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
131 |
with gr.Row():
|
132 |
+
p7 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
133 |
+
p8 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
134 |
+
p9 = gr.Button(size='lg',elem_id='color', scale = 0, min_width = 100,value='',elem_classes='gradio-button',interactive=False)
|
135 |
|
136 |
n1 = gr.Number(value="1", visible=False)
|
137 |
n2 = gr.Number(value="2", visible=False)
|