Dodanie wszystkich zmiennych z modelu do apki oraz ich obsługa
This commit is contained in:
parent
f93d8c5c67
commit
412dd57577
@ -8,9 +8,41 @@ const Hero = () => {
|
|||||||
const [isOpen, setIsOpen] = useState(false);
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
const [gameMinute, setGameMinute] = useState('');
|
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 toggleDropdown = () => setIsOpen(!isOpen);
|
||||||
const handleMinuteChange = (e) => setGameMinute(e.target.value);
|
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("");
|
const [data, setData] = useState("");
|
||||||
//zmienne globalne
|
//zmienne globalne
|
||||||
//zmienna mówiąca który przycisk jest aktywny, jest ona wykorzystywana
|
//zmienna mówiąca który przycisk jest aktywny, jest ona wykorzystywana
|
||||||
@ -73,6 +105,7 @@ const Hero = () => {
|
|||||||
setNumberOfStrikers(0)
|
setNumberOfStrikers(0)
|
||||||
setNumberOfGoalkeppers(0)
|
setNumberOfGoalkeppers(0)
|
||||||
setNumberOfShooters(0)
|
setNumberOfShooters(0)
|
||||||
|
setGameMinute('')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -242,9 +275,9 @@ const Hero = () => {
|
|||||||
///Dziwny Blad
|
///Dziwny Blad
|
||||||
loadPlayers()
|
loadPlayers()
|
||||||
if (number_of_shooters == 1) {
|
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
|
// 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()
|
res => res.json()
|
||||||
).then(
|
).then(
|
||||||
data => {
|
data => {
|
||||||
@ -265,8 +298,6 @@ const Hero = () => {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Funkcja dodająca listener do boiska*/
|
/* Funkcja dodająca listener do boiska*/
|
||||||
function boiskoListener(ev){
|
function boiskoListener(ev){
|
||||||
ev.preventDefault()
|
ev.preventDefault()
|
||||||
@ -437,37 +468,35 @@ const Hero = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="additional-parameters">
|
<div className="additional-parameters">
|
||||||
<h3>Parametry strzału</h3>
|
<h3>Parametry strzału</h3>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="firstShot" />
|
<input type="checkbox" id="firstShot" onChange={handleFirstShotChange} />
|
||||||
Pierwszy w meczu
|
Pierwszy w meczu
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="oneOnOne" />
|
<input type="checkbox" id="oneOnOne" onChange={handleOneOnOneChange} />
|
||||||
Akcja sam na sam
|
Akcja sam na sam
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="afterAirDuel" />
|
<input type="checkbox" id="afterAirDuel" onChange={handleAfterAirDuelChange} />
|
||||||
Po pojedynku powietrznym
|
Po pojedynku powietrznym
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="openGoal" />
|
<input type="checkbox" id="openGoal" onChange={handleOpenGoalChange} />
|
||||||
Na pustą bramkę
|
Na pustą bramkę
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="afterDribbling" />
|
<input type="checkbox" id="afterDribbling" onChange={handleAfterDribblingChange} />
|
||||||
Poprzedzony dryblingiem
|
Poprzedzony dryblingiem
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="ricochet" />
|
<input type="checkbox" id="redirect" onChange={handleRedirectChange} />
|
||||||
Rykoszet
|
Rykoszet
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* <div className="ChoosingPlayer">
|
{/* <div className="ChoosingPlayer">
|
||||||
<button className="cho-one_on_one" id = "bbt8">Sam na sam</button>
|
<button className="cho-one_on_one" id = "bbt8">Sam na sam</button>
|
||||||
</div>
|
</div>
|
||||||
|
Binary file not shown.
@ -31,6 +31,15 @@ def get_model():
|
|||||||
acionType = request.args.get('actionType')
|
acionType = request.args.get('actionType')
|
||||||
minute = request.args.get('gameMinute')
|
minute = request.args.get('gameMinute')
|
||||||
position_name = request.args.get('shooterPossition')
|
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(',')
|
shooter_x, shooter_y = shooter.split(',')
|
||||||
|
|
||||||
@ -81,6 +90,9 @@ def get_model():
|
|||||||
atakujacy_lista = konwertujDoListy(atakujacy)
|
atakujacy_lista = konwertujDoListy(atakujacy)
|
||||||
atakujacy_macierz = zmienWMaciez(atakujacy_lista)
|
atakujacy_macierz = zmienWMaciez(atakujacy_lista)
|
||||||
|
|
||||||
|
if gameMinute == "":
|
||||||
|
gameMinute = 1 # to change
|
||||||
|
|
||||||
print("wspolrzedne obroncow: ", obroncy)
|
print("wspolrzedne obroncow: ", obroncy)
|
||||||
print("wspolrzedne atakujacych: ", atakujacy)
|
print("wspolrzedne atakujacych: ", atakujacy)
|
||||||
|
|
||||||
@ -114,6 +126,8 @@ def get_model():
|
|||||||
print("Posortowani obroncy: ", posortowani_obroncy)
|
print("Posortowani obroncy: ", posortowani_obroncy)
|
||||||
print("Posortowani atakujacy: ", posortowani_atakujacy)
|
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
|
## add angle, match minutes and number of players
|
||||||
|
|
||||||
@ -142,22 +156,22 @@ def get_model():
|
|||||||
print("bramkarz:", goalkepper_x, goalkepper_y)
|
print("bramkarz:", goalkepper_x, goalkepper_y)
|
||||||
|
|
||||||
# MODEL XGBOOST
|
# MODEL XGBOOST
|
||||||
response = xgboost_predict_proba(minute=1,
|
response = xgboost_predict_proba(minute=gameMinute,
|
||||||
position_name=position_name,
|
position_name=position_name,
|
||||||
shot_body_part_name=body_part,
|
shot_body_part_name=body_part,
|
||||||
shot_technique_name=technique,
|
shot_technique_name=technique,
|
||||||
shot_type_name=acionType,
|
shot_type_name=acionType,
|
||||||
shot_first_time=False,
|
shot_first_time=shot_first_time,
|
||||||
shot_one_on_one=False,
|
shot_one_on_one=shot_one_on_one,
|
||||||
shot_aerial_won=False,
|
shot_aerial_won=shot_aerial_won,
|
||||||
shot_deflected=False,
|
shot_deflected=False,
|
||||||
shot_open_goal=False,
|
shot_open_goal=shot_open_goal,
|
||||||
shot_follows_dribble=False,
|
shot_follows_dribble=shot_follows_dribble,
|
||||||
shot_redirect=False,
|
shot_redirect=shot_redirect,
|
||||||
shot_kick_off=False,
|
shot_kick_off=False,
|
||||||
x1=shooter_x, y1=shooter_y,
|
x1=shooter_x, y1=shooter_y,
|
||||||
number_of_players_opponents=0,
|
number_of_players_opponents=number_of_players_opponents,
|
||||||
number_of_players_teammates=0,
|
number_of_players_teammates=number_of_players_teammates,
|
||||||
angle=angle, distance=dist,
|
angle=angle, distance=dist,
|
||||||
x_player_opponent_Goalkeeper=goalkepper_x, y_player_opponent_Goalkeeper=goalkepper_y,
|
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],
|
x_player_opponent_1=posortowani_obroncy[0][0], y_player_opponent_1=posortowani_obroncy[0][1],
|
||||||
|
Loading…
Reference in New Issue
Block a user