Formula matematica o algoritmo per gioco
Salve,
vorrei sapere se esiste una formula matematica o un algoritmo che mi risolva il seguente problema: vi sono 2 giocatori, ognuno con un parametro che si riferisce alla sua velocità nel fare la sua mossa. Il giocatore G1 con velocità v1 e il giocatore G2 con velocità v2 ora i casi che possono verificarsi sono i seguenti:
se (v1=v2) //G1 e G2 sono entrambi veloci nelle mosse
G1 e G2 hanno entrambi una probabilità molto alta nel colpirsi
se(v1>v2) // G1 è più veloce di G2
la probabilità che l'attacco di G1 vada a buon fine è più alta di quella dell'attacco di G2
se(v1
la probabilità che l'attacco di G1 vada a buon fine è minore rispetto quella dell'attacco di G1
io ho provato con una banale proporzione a calcolarmi la percentuale della buona riuscita di un attacco ma non rispetta tutti i casi.
[/code]
vorrei sapere se esiste una formula matematica o un algoritmo che mi risolva il seguente problema: vi sono 2 giocatori, ognuno con un parametro che si riferisce alla sua velocità nel fare la sua mossa. Il giocatore G1 con velocità v1 e il giocatore G2 con velocità v2 ora i casi che possono verificarsi sono i seguenti:
se (v1=v2) //G1 e G2 sono entrambi veloci nelle mosse
G1 e G2 hanno entrambi una probabilità molto alta nel colpirsi
se(v1>v2) // G1 è più veloce di G2
la probabilità che l'attacco di G1 vada a buon fine è più alta di quella dell'attacco di G2
se(v1
io ho provato con una banale proporzione a calcolarmi la percentuale della buona riuscita di un attacco ma non rispetta tutti i casi.
[/code]
Risposte
"*acqua*":
se(v1la probabilità che l'attacco di G1 vada a buon fine è minore rispetto quella dell'attacco di G1
[/code]
è un errore , vero ?
Scusa ma hai già risolto il tuo stesso problema poi la percentuale cosa ti serve se v1
Non sembra complicato ma dovresti definire meglio alcuni punti.
per esempio se hai:
$G_1,G_2,G_3,G_4$
$V_1=V_2>V_3=V_4$
$G_1vsG_2$ hanno le stesse probabilità di $G_3vsG_4$?
per esempio se hai:
$G_1,G_2,G_3,G_4$
$V_1=V_2>V_3=V_4$
$G_1vsG_2$ hanno le stesse probabilità di $G_3vsG_4$?
Allora mi spiego meglio:
mi serve una formula o un algoritmo che mi restituisca un valore compreso fra 0 e 100 che sta ad indicare la percetuale con cui un attacco va a buon fine da parte di un giocatore G1 nei confronti di un giocatore G2, ogni giocatore ha una velocità v1 e v2 rispettivamente... i casi che possono verificarsi sono i seguenti:
se(v1>v2) // G1 è più veloce di G2
la probabilità che l'attacco di G1 vada a buon fine è più alta di quella dell'attacco di G2
se(v1
la probabilità che l'attacco di G1 vada a buon fine è minore rispetto quella dell'attacco di G1
ES: v1=57 e v2=8
La formula mi dovra restiture:
la probabilita' che l'attacco di G1 vada a buon fine è del 86%
la probabilita' che l'attacco di G2 vada a buon fine è del 14%
Questo caso lo posso risolvere banalmente con la seguente formula:
x = (v1-v2)*100/v1
nel caso però io ho due velocità quasi uguali es: v1=23 e v2=19 questa non vale più in quanto mi restituisce una percentuale bassa mentre io voglio una percentuale quasi del 100% e che rispetti sempre che G1 ha più probabilita' che il suo attacco riesca rispetto a G2 è possibilie risolvere cio' con una formula o un algoritmo?
mi serve una formula o un algoritmo che mi restituisca un valore compreso fra 0 e 100 che sta ad indicare la percetuale con cui un attacco va a buon fine da parte di un giocatore G1 nei confronti di un giocatore G2, ogni giocatore ha una velocità v1 e v2 rispettivamente... i casi che possono verificarsi sono i seguenti:
se(v1>v2) // G1 è più veloce di G2
la probabilità che l'attacco di G1 vada a buon fine è più alta di quella dell'attacco di G2
se(v1
ES: v1=57 e v2=8
La formula mi dovra restiture:
la probabilita' che l'attacco di G1 vada a buon fine è del 86%
la probabilita' che l'attacco di G2 vada a buon fine è del 14%
Questo caso lo posso risolvere banalmente con la seguente formula:
x = (v1-v2)*100/v1
nel caso però io ho due velocità quasi uguali es: v1=23 e v2=19 questa non vale più in quanto mi restituisce una percentuale bassa mentre io voglio una percentuale quasi del 100% e che rispetti sempre che G1 ha più probabilita' che il suo attacco riesca rispetto a G2 è possibilie risolvere cio' con una formula o un algoritmo?
Scusa ma basta che fai nel seguente modo
Dim V1 as integer
Dim V2 as integer
Dim PercentualeV1,PercentualeV2 as integer
IF V1>V2 then
PercentualeV1=100
PercentualeV2=0
Else:
PercentualeV1=0
PercentualeV2=100
End if
Dim V1 as integer
Dim V2 as integer
Dim PercentualeV1,PercentualeV2 as integer
IF V1>V2 then
PercentualeV1=100
PercentualeV2=0
Else:
PercentualeV1=0
PercentualeV2=100
End if
Angus_Mac ma in quel modo un giocatore attacca e l'altro non riesce mai ad attaccare...
lo scontro diventa a senso unico e non c'è gusto...
l'algoritmo dovrebbe sempre restituirmi due valori interi confrontabili e uguali in un solo caso, cioè quando v1=v2. In questo caso il valore sarà 100 cioè tutti e due attaccano sempre e lo scontro è avvincente.
lo scontro diventa a senso unico e non c'è gusto...
l'algoritmo dovrebbe sempre restituirmi due valori interi confrontabili e uguali in un solo caso, cioè quando v1=v2. In questo caso il valore sarà 100 cioè tutti e due attaccano sempre e lo scontro è avvincente.
Allora spiegati meglio che tipo di gioco è quello che vuoi fare e magari ti saprò aiutare di più in oltre in che lingiaggio lo stai ocmpilando c++ java exx
pi=vi*100/max(v1,v2)?!?
Tieni però presente che p1+p2<=200...
altrimenti pi=vi*100/(v1+v2), in questo caso p1+p2=100, v1=v2 implicherebbe p1=p2=50%
e con n>2 (es n=3) sarebbe pi=vi*100/(v1+v2+v3), quindi diventerebbe v1=v2=v3 => p1=p2=p3=33,333333333333333333333...%
Ciao, E.
Tieni però presente che p1+p2<=200...
altrimenti pi=vi*100/(v1+v2), in questo caso p1+p2=100, v1=v2 implicherebbe p1=p2=50%
e con n>2 (es n=3) sarebbe pi=vi*100/(v1+v2+v3), quindi diventerebbe v1=v2=v3 => p1=p2=p3=33,333333333333333333333...%
Ciao, E.
Ancora una cosa: esiste una velocità max? perché se esiste allora potresti fare pi=vi*100/vmax
In questo caso avresti pi=100% <=> vi=vmax
Se però non esiste una vmax allora hai a disposizione solo un rapporto relativo ed in questo caso devi decidere tu cosa vorresti che fosse il 100%
nel caso pi=vi*100/max(v1,v2) sarebbe sempre p1=100% e|o p2=100%..
altrimenti, che percentuali vorresti assegnare ai casi {v1=1,v2=2}, {v1=1000,v2=2000} in entrambi i casi hai v2=2*v1 ma con valori assoluti molto diversi, assegneresti ad entrambe le coppie le stesse percentuali?
Un'altra soluzione potrebbe essere: pi=vi*100/(max(v1,v2)+abs(v1-v2))
in questo caso otterresti il 100% solo se v1=v2, se t'ispira di +...
Riciao, E.
In questo caso avresti pi=100% <=> vi=vmax
Se però non esiste una vmax allora hai a disposizione solo un rapporto relativo ed in questo caso devi decidere tu cosa vorresti che fosse il 100%
nel caso pi=vi*100/max(v1,v2) sarebbe sempre p1=100% e|o p2=100%..
altrimenti, che percentuali vorresti assegnare ai casi {v1=1,v2=2}, {v1=1000,v2=2000} in entrambi i casi hai v2=2*v1 ma con valori assoluti molto diversi, assegneresti ad entrambe le coppie le stesse percentuali?
Un'altra soluzione potrebbe essere: pi=vi*100/(max(v1,v2)+abs(v1-v2))
in questo caso otterresti il 100% solo se v1=v2, se t'ispira di +...
Riciao, E.
Grazie edogaldo,
la tua formula pi=vi*100/(max(v1,v2)+abs(v1-v2)) è proprio quello che cercavo...
infatti il mio problema era appunto che non esiste una velocità max...
la tua formula pi=vi*100/(max(v1,v2)+abs(v1-v2)) è proprio quello che cercavo...

infatti il mio problema era appunto che non esiste una velocità max...
bene! comunque tieni presente che per v1 molto diverso da v2 avrai che max(p1,p2)->50% e min(p1,p2)->0...
Riciao, E.
Riciao, E.
"Angus_Mac":
Allora spiegati meglio che tipo di gioco è quello che vuoi fare e magari ti saprò aiutare di più in oltre in che lingiaggio lo stai ocmpilando c++ java exx
Non mi pare che abbia chiesto un aiuto informatico, ha solo chiesto un algoritmo (ossia una formula) matematica che risolva il suo problema, che mi sembra chiarissimo sin dall'inizio.
Ciao! Sono il tuo Tutor AI, il compagno ideale per uno studio interattivo. Utilizzo il metodo maieutico per affinare il tuo ragionamento e la comprensione. Insieme possiamo:
- Risolvere un problema di matematica
- Riassumere un testo
- Tradurre una frase
- E molto altro ancora...
Il Tutor AI di Skuola.net usa un modello AI di Chat GPT.
Per termini, condizioni e privacy, visita la relativa pagina.
Per termini, condizioni e privacy, visita la relativa pagina.