inf112-v20 / crawling-crow

🤖 The winning team!
0 stars 0 forks source link

[BUG] When you die you sometimes get more than 10 damage tokens #156

Closed lisejoh closed 4 years ago

lisejoh commented 4 years ago

Kan være når man går utenfor kartet og har litt helse igjen så får du damagetoken som du hadde fra før + 10 til. Teori?

buzzdead commented 4 years ago

Kan kanskje være lurt å oppdatere uielements in continueGameLoop til å begynne med, slik at den oppdaterer seg før hver fase og til slutt etter end round. ( På denne måten blir oppdateringen av damage tokens mer naturlig )

timharek commented 4 years ago

Btw, det er ingen sted man oppdaterer alle UI elements på en gang nå, dette skjer hver for seg siden reboots-ui bare sjekkes man kan ha dødd og damage-tokens-ui oppdateres bare når man kan ta skade.

Men jeg skjønner hva du tenker..

buzzdead commented 4 years ago

Bør kikke litt på det, tror det er slik at man må vente til neste runde før man får oppdatert skade man tar om man tar skade som følge av å bli skutt i fase 5. Det kan man gjøre i endround\runround

buzzdead commented 4 years ago

Tror egentlig eneste stedet man trenger å ha updateDamagetokens er i starten av det som nå er contineGameLoop, for om man kjører updateDamageTokens i fireLasers så vil roboten fortsatt ha den samme helsen siden laseren ikke har nådd frem enda (som følge at den først har nådd frem etter neste fase har begynt). Samme situasjonen som da vi holdt på med å få ordnet den buggen med laserEvent..

Egentlig en errror jeg bør ta kreditt for da jeg ikke tenkte på problemer som kunne oppstå ved å håndtere skade i det roboten blir truffet av laseren, hadde egentlig holdt med å avspille lyd i det roboten blir truffet av laseren i laserEvent. Er vel mulig å forrandre på det men blir litt tråkigt.

timharek commented 4 years ago

Da har jeg flyttet UI oppdateringene inn i continueGameLoop(), men også inn i cleanUp() i Round (updateUserRobotUIElements()) midlertidig mtp at UI Damage tokens ikke ble oppdatert ordentlig etter at man har dødd og runden var over.

Har fikset buggen nå, måtte bare ha en sjekk i updateDamageTokens() for hvis helsen til Robot var mindre enn 0, så skulle den sette UI Damage tokens til å vise at man ikke har helse lenger.

buzzdead commented 4 years ago

Viste seg at den trenger å sette helsen til 0 i getLogic for at robotIsDestroyed skal fungere. Refaktorerte dette slik at alt som er avhengig av robotisdestroyed fungerer.