28-09-2018, 20:41
Ad 1. Oczywiście, że nie, niedokładnie musiałeś przeczytać mój post i przypadek 12k szybkości (52 ataki) vs 10,5k szybkości (49 ataków). 24 ataki na 10k szybkości to +1 atak co ~417 szybkości.
Ad 2. I to jest do przegadania jak dokładnie miałoby to wyglądać, bo 4 ataki gracza A, a potem 3 ataki gracza B nie mają za bardzo sensu (niby mają zbliżoną ilość ataków, a przy 10% trako gracz A wygrywałby większość pojedynków zanim B zacznie ). Sensowne rozwiązanie dla tego przypadku wygląda dość łatwo, bo wygląda to tak:
1 atak gracza A
1 atak gracza B
2 atak gracza A
2 atak gracza B
3 atak gracza A
3 atak gracza B
4 atak gracza A
I ten powyższy schemat leci aż do końca (oczywiście po 4 ataku gracza A, znów atakuje gracz A), gdzie obu graczom kończą się ataki.
Tak wygląda 4:3, jednak ten przypadek jest bardzo prosty do pokazania. 57:43 już nie jest, w związku z tym najprościej by algorytm uwzględniał różnicę ilości ataków (+14) na korzyść gracza A i rozkładał je równomiernie (czyli co 43/14 ataki gracza B, gracz A dostaje swój dodatkowy atak). Wiem, że brzmi to kosmicznie, jutro zrobię to na konkretnym przykładzie, bo tak naprawdę to zabawa tylko z modulo. Dla przykładu 96:72 wygląda właśnie tak samo, różnica ataków 24, więc co 72/24 (3) ataki gracza B, gracz A dostaje dodatkowy atak (co rozpisałem kilka linijek wyżej).
Uprzedzając pytanie lub wątpliwości "implementacyjne" - jest to proste do zrobienia.
Ad 2. I to jest do przegadania jak dokładnie miałoby to wyglądać, bo 4 ataki gracza A, a potem 3 ataki gracza B nie mają za bardzo sensu (niby mają zbliżoną ilość ataków, a przy 10% trako gracz A wygrywałby większość pojedynków zanim B zacznie ). Sensowne rozwiązanie dla tego przypadku wygląda dość łatwo, bo wygląda to tak:
1 atak gracza A
1 atak gracza B
2 atak gracza A
2 atak gracza B
3 atak gracza A
3 atak gracza B
4 atak gracza A
I ten powyższy schemat leci aż do końca (oczywiście po 4 ataku gracza A, znów atakuje gracz A), gdzie obu graczom kończą się ataki.
Tak wygląda 4:3, jednak ten przypadek jest bardzo prosty do pokazania. 57:43 już nie jest, w związku z tym najprościej by algorytm uwzględniał różnicę ilości ataków (+14) na korzyść gracza A i rozkładał je równomiernie (czyli co 43/14 ataki gracza B, gracz A dostaje swój dodatkowy atak). Wiem, że brzmi to kosmicznie, jutro zrobię to na konkretnym przykładzie, bo tak naprawdę to zabawa tylko z modulo. Dla przykładu 96:72 wygląda właśnie tak samo, różnica ataków 24, więc co 72/24 (3) ataki gracza B, gracz A dostaje dodatkowy atak (co rozpisałem kilka linijek wyżej).
Uprzedzając pytanie lub wątpliwości "implementacyjne" - jest to proste do zrobienia.