23

Zaznavanje trkov (collision detection)

Težja
Programski jeziki:
C# Java Python
Opis naloge:
Zagotovo si že kdaj igral igro, kjer se sovražnik ustavi, ko se dotakne igralca? Ali pa platformno igro, kjer lik ne more hoditi skozi steno? V ozadju teh mehanik stoji algoritem za zaznavanje trka – eden najbolj osnovnih, a ključnih gradnikov v razvoju iger.

V tej nalogi boš implementiral osnovni del te logike. Predstavljaj si, da imaš dva pravokotna objekta (npr. igralca in oviro). Za vsakega poznaš naslednje podatke:
- x in y (zgornji levi kot),
- širino in višino pravokotnika.

Tvoja naloga je preveriti, ali se ta dva pravokotnika dotikata ali celo prekrijeta. Če se dotikata ali prekrivata, naj program izpiše: "Objekta se dotikata!" ali "Objekta se ne dotikata."
Primeri delovanja:
Vhodni podatki:
Vnesi x koordinato prvega objekta: 4 Vnesi y koordinato prvega objekta: 2 Vnesi širino prvega objekta: 10 Vnesi višino prvega objekta: 5 Vnesi x koordinato drugega objekta: 7 Vnesi y koordinato drugega objekta: 6 Vnesi širino drugega objekta: 9 Vnesi višino drugega objekta: 9
Pričakovan rezultat:
Objekta se dotikata.

Vhodni podatki:
Vnesi x koordinato prvega objekta: 4 Vnesi y koordinato prvega objekta: 2 Vnesi širino prvega objekta: 5 Vnesi višino prvega objekta: 5 Vnesi x koordinato drugega objekta: -20 Vnesi y koordinato drugega objekta: 6 Vnesi širino drugega objekta: 4 Vnesi višino drugega objekta: 4
Pričakovan rezultat:
Objekta se ne dotikata.