Gustking commited on
Commit
3da3329
·
1 Parent(s): c4d8a1d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -22
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: red; /* Cor de fundo azul */
16
- color: white; /* Cor do texto (branco neste caso) */
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
- retorn_buttons = [gr.Button(size='lg', 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
  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.5ep-0.6ap-0.9-1000000r.json')
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)