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],