Speichere die Einschlagskoordinate in 2 Variablen, also X und Y. Dann ziehst du 2 vom x Wert ab und fragst per Fork condition ab ob des helden Position X einen höheren Wert als der X des Einschlagswertes hat. Ist dies der Fall dann zählst du 4 zum X Wert des Einschlages hinzu und fragst diesmal ab, ob der Held-X kleiner ist als diese Einschlagskoordinate-X. Wenn dies ebenfalls so ist, den Y Wert der Einschlagskoordinate -2, dann abfragen ob der Held_y einen größeren Wert als die Y Variable des einschlages hat. Ist dies so dann noch den Y Wert + 4 nehmen und abfragen ob der Hero_Y Wert kleiner als dieser Y-Einschlagswert ist. Am ende dieser 4 Forks musst du nur noch die HP abziehen und eventuell den Hero aufflashen lassen. Das ganze kannst du dann auch noch mit den Gegnern machen.
Das ganze funktioniert so, dass du eine art Kasten aufbaust durch die Variablen, indem der held sein muss um getroffen zu werden.
x = Einschlagswert
- = Die Y Abstände des KLastens
| = Abstand X des Kastens
Das heißt also, der X-Einschlagswert des Geschosses minus 2 muss immer noch kleiner als des Helden X sein, dann befindet sich der Held schonmal rechts vom linken Rand. Jetzt muss das eingegrenzt werden und der Held X darf nicht größer als die Rechte Grenze sein, also die Einschlagskoordinate + 2. Somit ist der Held horizontal schonmal zischen den beiden Rändern, also höchstens 2 Felder von der Explosion entfernt. Aber er könnte ja auch 20 Kästchen darüber oder unter dem Feld stehen, daher muss auch noch Y geprüft werden dass er nicht höher oder tiefer als 2 Kästchen vom Einschlgaspunkt entfernt steht.