diff --git a/app/src/components/Hero.jsx b/app/src/components/Hero.jsx index b61daee..a83eaf5 100644 --- a/app/src/components/Hero.jsx +++ b/app/src/components/Hero.jsx @@ -8,8 +8,40 @@ const Hero = () => { const [isOpen, setIsOpen] = useState(false); const [gameMinute, setGameMinute] = useState(''); + const [firstShot, setfirstShot] = useState(''); + const [oneOnOne, SetoneOnOne] = useState(''); + const [afterAirDuel, SetafterAirDuele] = useState(''); + const [openGoal, SetOpenGoal] = useState(''); + const [afterDribbling, SetafterDribbling] = useState(''); + const [redirect, SetRedirect] = useState(''); + const toggleDropdown = () => setIsOpen(!isOpen); const handleMinuteChange = (e) => setGameMinute(e.target.value); + + const handleFirstShotChange = (event) => { + setfirstShot(event.target.checked); +}; + +const handleOneOnOneChange = (event) => { + SetoneOnOne(event.target.checked); +}; + +const handleAfterAirDuelChange = (event) => { + SetafterAirDuele(event.target.checked); +}; + +const handleOpenGoalChange = (event) => { + SetOpenGoal(event.target.checked); +}; + +const handleAfterDribblingChange = (event) => { + SetafterDribbling(event.target.checked); +}; + +const handleRedirectChange = (event) => { + SetRedirect(event.target.checked); +}; + const [data, setData] = useState(""); //zmienne globalne @@ -73,6 +105,7 @@ const Hero = () => { setNumberOfStrikers(0) setNumberOfGoalkeppers(0) setNumberOfShooters(0) + setGameMinute('') } @@ -242,9 +275,9 @@ const Hero = () => { ///Dziwny Blad loadPlayers() if (number_of_shooters == 1) { - console.log('Wysyłanie wartości: ', bodyPart, technique); + console.log('Wysyłanie wartości: ', bodyPart, technique, actionType, shooterPossition, gameMinute, firstShot); // Użyj backticksów zamiast zwykłych cudzysłowów - fetch(`http://127.0.0.1:5000/get_model?shooter=${shooter}&goalkeeper=${goalkeeper}&defenders=${defenders}&strickers=${stricers}&bodyPart=${bodyPart}&technique=${technique}&actionType=${actionType}&shooterPossition=${shooterPossition}`).then( + fetch(`http://127.0.0.1:5000/get_model?shooter=${shooter}&goalkeeper=${goalkeeper}&defenders=${defenders}&strickers=${stricers}&bodyPart=${bodyPart}&technique=${technique}&actionType=${actionType}&shooterPossition=${shooterPossition}&gameMinute=${gameMinute}&shot_first_time=${firstShot}&shot_one_on_one=${oneOnOne}&shot_aerial_won=${afterAirDuel}&shot_open_goal=${openGoal}&shot_follows_dribble=${afterDribbling}&shot_redirect=${redirect}`).then( res => res.json() ).then( data => { @@ -263,8 +296,6 @@ const Hero = () => { } } - - /* Funkcja dodająca listener do boiska*/ @@ -437,37 +468,35 @@ const Hero = () => { -
+

Parametry strzału

- - {/*
diff --git a/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc b/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc index 616f5ef..b1fc933 100644 Binary files a/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc and b/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc differ diff --git a/app/src/flask-server/server.py b/app/src/flask-server/server.py index 6ef10f5..aa6722e 100644 --- a/app/src/flask-server/server.py +++ b/app/src/flask-server/server.py @@ -31,6 +31,15 @@ def get_model(): acionType = request.args.get('actionType') minute = request.args.get('gameMinute') position_name = request.args.get('shooterPossition') + gameMinute = request.args.get('gameMinute') + + shot_first_time = request.args.get('shot_first_time') + shot_one_on_one = request.args.get('shot_one_one') + shot_aerial_won = request.args.get('shot_aerial_won') + shot_open_goal = request.args.get('shot_open_goal') + shot_follows_dribble = request.args.get('shot_follows_dribble') + shot_redirect = request.args.get('shot_redirect') + shooter_x, shooter_y = shooter.split(',') @@ -81,6 +90,9 @@ def get_model(): atakujacy_lista = konwertujDoListy(atakujacy) atakujacy_macierz = zmienWMaciez(atakujacy_lista) + if gameMinute == "": + gameMinute = 1 # to change + print("wspolrzedne obroncow: ", obroncy) print("wspolrzedne atakujacych: ", atakujacy) @@ -113,7 +125,9 @@ def get_model(): print("Posortowani obroncy: ", posortowani_obroncy) print("Posortowani atakujacy: ", posortowani_atakujacy) - + + number_of_players_opponents = np.sum(~np.isnan(posortowani_obroncy).all(axis=1)) + number_of_players_teammates = np.sum(~np.isnan(posortowani_atakujacy).all(axis=1)) ## add angle, match minutes and number of players @@ -142,22 +156,22 @@ def get_model(): print("bramkarz:", goalkepper_x, goalkepper_y) # MODEL XGBOOST - response = xgboost_predict_proba(minute=1, + response = xgboost_predict_proba(minute=gameMinute, position_name=position_name, shot_body_part_name=body_part, shot_technique_name=technique, shot_type_name=acionType, - shot_first_time=False, - shot_one_on_one=False, - shot_aerial_won=False, + shot_first_time=shot_first_time, + shot_one_on_one=shot_one_on_one, + shot_aerial_won=shot_aerial_won, shot_deflected=False, - shot_open_goal=False, - shot_follows_dribble=False, - shot_redirect=False, + shot_open_goal=shot_open_goal, + shot_follows_dribble=shot_follows_dribble, + shot_redirect=shot_redirect, shot_kick_off=False, x1=shooter_x, y1=shooter_y, - number_of_players_opponents=0, - number_of_players_teammates=0, + number_of_players_opponents=number_of_players_opponents, + number_of_players_teammates=number_of_players_teammates, angle=angle, distance=dist, x_player_opponent_Goalkeeper=goalkepper_x, y_player_opponent_Goalkeeper=goalkepper_y, x_player_opponent_1=posortowani_obroncy[0][0], y_player_opponent_1=posortowani_obroncy[0][1],