Javu nepouzivam, nechci znat, ale...
"nejsem si jistý, jak to vytáhnout z toho arraylistu."
"poleProtihracu[i] != null"
Ale, vzdyt tady porovnavas, zda ten hrac existuje. takze se k tomu poli dostanes. Podobne to mas pro kulku
cyklus (bullets) {
B = bullets[i] // = [x:123, y:123, w:5, h:5] // takze okraje pak jsou [x, y, x+w, y+h]
cyklus (players) {
P = players[i] // = [x:123, y:123, w:50, h:50] // takze okraje pak jsou [x, y, x+w, y+h]
funkce1();
funkce2();
funkce3();
v javascriptu (html) by se to porovnani napsalo takto
B.x >= P.x ...
B['x'] >= P['x'] //nebo
a ted je treba si vzit papir a nakreslit si to, abys videl, ktere souradnice musis porovnat. Nakreslit si tam ruzne smery, sklony, strel sikmo do hrany, sikmo do rohu...
Pripadne muzes kolem hrace udelat jeste zonu, kde kulka ho sice skrtne, ale neumre z toho.
Muzes si treba rici, ze zasah je povazovany jen tehdy, vnikne-li kulka uplne do hrace. Takze strela na okraji je ignorovana, vyhodnoti se az v dalsim kroku, pokud se zanori do hrace.