alfonsodou / javaCup

Framework javaCup
3 stars 3 forks source link

Probabilidad golpear balón #10

Open alfonsodou opened 10 years ago

alfonsodou commented 10 years ago

cambiar las probabilidades de poder golpear el balón(creo que el portero debe ser capaz de golpear el balón con más probabilidad que los demás por poder usar todo el cuerpo aparte de que los disparos desde muy lejos deben ser faciles de atajar con una probabilidad de 99.9).

alfonsodou commented 10 years ago

Solución propuesta:

No creo que al portero deba tener un tratamiento especial, además del que ya tiene, ya que lo haría más imbatible de lo que ya puede ser.

Lo que propongo es cambiar la fórmula de probabilidad de golpeo del balón en el método puedenRematar de la siguiente forma:

double vel = Math.sqrt(balonDx * balonDx + balonDy * balonDy); double factor = (Math.max(0.4, Math.min(vel, 1.9)) - 0.4)/1.5; double probabilidad = 1 - 0.4_factor_factor;

Así, si la velocidad horizontal del balón es inferior a 0.4 la probabilidad de golpearlo sería 1 (esto elimina lo cantes del portero con balones que van muy despacio), y si la velocidad es superior a 1.9 la probabilidad de golpeo es 0.6. Para velocidades en el rango entre [0.4, 1.9] se asigna una probabilidad que depende cuadráticamente de la velocidad. Les dejo algunos valores reales de probabilidad que se obtienen con esta fórmula, el primer valor en cada fila es la velocidad, el segundo valor es la probabilidad con la modificación que propongo y el tercer valor es la probabilidad con la fórmula actual:

0.0 - 1.0 - 1.0 0.9955948010081699 - 0.9369363258688068 - 0.8577721712845472 0.4184387962344737 - 0.9999395574743865 - 0.9402230291093608 0.38171206603012664 - 1.0 - 0.9454697048528391 0.7944958410918338 - 0.9723329833531105 - 0.886500594129738 1.588883616587591 - 0.748721021548375 - 0.7730166262017727 1.1242848558952856 - 0.906739812892577 - 0.839387877729245 0.7246806718226148 - 0.9812591042390784 - 0.8964741897396264 1.6491319882965707 - 0.7226078712558678 - 0.7644097159576327 1.8247182154457269 - 0.6391427567248255 - 0.739325969222039 1.8366155510573374 - 0.6330908015040395 - 0.7376263498489518 1.8986808440283232 - 0.600703240487565 - 0.7287598794245252 1.21890586257188 - 0.8807810112436276 - 0.82587059106116 0.8020625245550975 - 0.9712614624619346 - 0.8854196393492718 1.033302631534299 - 0.928698271447419 - 0.852385338352243 1.766283821117131 - 0.6681366258050795 - 0.7476737398404099 1.4181973847831018 - 0.8156931707770405 - 0.7974003736024141 0.3509554274208102 - 1.0 - 0.9498635103684556

http://www.javahispano.org/foro-de-la-javacup/post/2227265