inf112-v20 / crawling-crow

🤖 The winning team!
0 stars 0 forks source link

[BUG] Round aborted in a middle of a phase #192

Closed thomashusebo closed 4 years ago

thomashusebo commented 4 years ago

Noen ganger, så blir en runde avbrutt før alle kortene er blitt spilt.

Har fått denne bugen 3-4 ganger men vet ikke hva som trigger den.

buzzdead commented 4 years ago

eKan dette ha med den skip greia @adipid lagde? eventuelt power down? Alle roboter du ikke selv styrer går i powerdown med mindre enn 2 hp. Kanskje en kombinasjon av de to? :)

buzzdead commented 4 years ago

Eneste måten å debugge dette er om man klarer å force en printout akkurat når dette skjer, med så mye som mulig informasjon. (med tiden vi har), går vel an å prøve å tenke seg logiskt fram til hva som gjør dette også.

thomashusebo commented 4 years ago

Det er mulig at det skjer i forbindelse med restart av spillet. Når vi restarter så instansierer vi ikke spillobjektene på nytt, men heller oppdaterer de som var fra før. Det er mulig at dette er en konsekvens. Det skjer relativt ofte etter en restart.

buzzdead commented 4 years ago

Ja vet ikke jeg, ser nå ut som det meste blir tatt hånd om i restartGame.

thomashusebo commented 4 years ago

Gjorde litt mer grundig bugtesting og begynner å se et mønster:

Når skipper spillet over faser? - Første runde etter restart. Hvor mange runder blir spilt før den avbryter? - Avhengig av hvor mange kort som ble spilt i siste runde av spillet som ble avsluttet:

Spilte 1 kort fra avsluttet runde => Spiller 4 kort i første runde i nytt spill Spilte 2 kort fra avsluttet runde => Spiller 2 kort i første runde i nytt spill Spilte 3 kort fra avsluttet runde => Spiller 1 kort i første runde i nytt spill Spilte 4 kort fra avsluttet runde => Spiller 0 kort i første runde i nytt spill

Når man spiller 5 kort i siste runde har to ting skjedd.

image

thomashusebo commented 4 years ago

Kan nevne at innimellom, omtrent 15% av gangene, så blir ikke robotene redrawet på restart. Men hvis jeg restarter på nytt vil de komme til slutt. Selv om jeg restarter igjen, så er antall kort som blir spilt, avhengig av hvor mange kort som ble spilt på runden som ble avbrutt

buzzdead commented 4 years ago

Jeg ser sethasrestarted bør antakelig være siste som blir gjort i restartgame

buzzdead commented 4 years ago

Kan det være at registeret ikke blir clearet ordentlig i restart game? noe som ville vært annerledes enn fra start game

thomashusebo commented 4 years ago

Jeg antar at et nytt spill har nye roboter. Nye roboter har nye instanser av registre. Er mulig ui-representasjonen av register ikke blir fjernet på rett plass? Men det kan ikke påvirke rekkefølgen på når ting skjer.