Grandediw commited on
Commit
c216029
·
verified ·
1 Parent(s): 94172b1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -18
app.py CHANGED
@@ -1,4 +1,3 @@
1
-
2
  import gradio as gr
3
  import pandas as pd
4
  import numpy as np
@@ -83,22 +82,28 @@ with gr.Blocks() as interface:
83
  gr.Markdown("## Clash Royale Prediction")
84
  gr.Markdown("Select 8 cards from the opponent's deck to predict the probability of winning!")
85
 
86
- selected_deck = []
87
- for card_name, image_url in card_images.items():
88
- def toggle_card(card_name):
89
- if card_name in selected_deck:
90
- selected_deck.remove(card_name)
91
- else:
92
- selected_deck.append(card_name)
93
-
94
- gr.Image(
95
- value=image_url,
96
- label=card_name,
97
- tool="select",
98
- interactive=True,
99
- click=toggle_card(card_name),
100
- )
101
-
 
 
 
 
 
 
102
  result = gr.Textbox(label="Prediction Result:", interactive=False)
103
 
104
  def validate_and_predict(deck):
@@ -109,4 +114,4 @@ with gr.Blocks() as interface:
109
  predict_button = gr.Button("Make Prediction")
110
  predict_button.click(validate_and_predict, inputs=[selected_deck], outputs=[result])
111
 
112
- interface.launch()
 
 
1
  import gradio as gr
2
  import pandas as pd
3
  import numpy as np
 
82
  gr.Markdown("## Clash Royale Prediction")
83
  gr.Markdown("Select 8 cards from the opponent's deck to predict the probability of winning!")
84
 
85
+ selected_deck = gr.State([]) # To store selected cards
86
+
87
+ card_buttons = []
88
+ with gr.Row():
89
+ for card_name, image_url in card_images.items():
90
+ def select_card(card_name):
91
+ def toggle(state):
92
+ if card_name in state:
93
+ state.remove(card_name)
94
+ else:
95
+ state.append(card_name)
96
+ return state
97
+ return toggle
98
+
99
+ button = gr.Image(
100
+ value=image_url,
101
+ label=card_name,
102
+ interactive=True,
103
+ )
104
+ button.change(select_card(card_name), inputs=[selected_deck], outputs=[selected_deck])
105
+ card_buttons.append(button)
106
+
107
  result = gr.Textbox(label="Prediction Result:", interactive=False)
108
 
109
  def validate_and_predict(deck):
 
114
  predict_button = gr.Button("Make Prediction")
115
  predict_button.click(validate_and_predict, inputs=[selected_deck], outputs=[result])
116
 
117
+ interface.launch()