søndag den 9. maj 2010

Kasserne på scenen


Kasseproblemet:

Vi har løst kasseproblemet ved at sætte flere tjekpunkter ind. Som det var før blev der kun tjekket for overlapninger af andre kasser i øverste venstre hjørne. Dette har vi udvidet sådan at der bliver tjekket i alle hjørner, midten og midten af alle sider på kasserne. På denne måde tjekker den alle mulige scenarier for overlapning. De mulige scenarier på nær et ses på billedet nedenfor. Tjekpunktet i midten er i tilfælde af at en mindre kasse genereres oven i en større.

Dette fungerer kodemæssigt således, at hver ny kasses position tjekkes af Level-klassen. Hvis den nye kasse overlapper en anden, tjekkes et nyt tilfældigt sted der ingen overlapninger er. Efter et succesfuldt tjek oprettes kassen på scenen.

I teorien kan dette tjek gentage sig i en uendelighed, men sandsynligheden for dette problem er så lav at, det tæt på ingen risiko udgør.

Ingen kommentarer:

Send en kommentar