Formát debugovacího výstupu
This commit is contained in:
parent
b2debdfb57
commit
cd93ccb063
1 changed files with 14 additions and 1 deletions
|
@ -128,6 +128,19 @@ Všimněte si, že simulace má několik neintuitivních zjednodušení a vlastn
|
|||
|
||||
Dále, pro detekci průsečíku lodi s asteroidem či cílem schválně používáme `euclidean_distance`, která má odmocninu zaokrouhlenou dolů.
|
||||
Sice by kolize šly počítat exaktně pomocí druhých mocnin vzdálenosti, ale v okrajových případech bychom naráželi na limity velikosti čísel.
|
||||
Dejte pozor, že toto neexaktní počítání kolizí je třeba implementovat i do akcelerační struktury pro hledání blízkých asteroidů a cílů,
|
||||
pokud nějakou budete používat.
|
||||
|
||||
Naše rustová (vyhodnocovadlo) i typescriptová (webová vizualizace) implementace používá místo exaktní `isqrt` klasickou float64 odmocninu, kterou poté zaokrouhlí dolů na celé číslo.
|
||||
Naše rustová (vyhodnocovadlo) i typescriptová (webová vizualizace) implementace používá místo exaktní `isqrt` klasickou "float64" odmocninu, kterou poté zaokrouhlí dolů na celé číslo.
|
||||
Pro rozsahy hodnot relevantní v této úloze dávají obě funkce stejné výsledky.
|
||||
|
||||
#### Debugování pomocí webové vizualizace
|
||||
|
||||
Do [webové vizualizace](https://kvaleya.gitlab.io/asteracer/) můžete nahrát svou sadu instrukcí, kterou stránka poté vyhodnotí.
|
||||
Pro debugování se může hodit stáhnout si z ní "záznam simulace" následujícího formátu:
|
||||
|
||||
Záznam obsahuje jeden řádek pro každou vstupní instrukci.
|
||||
Každý řádek popisuje stav světa po vykonání dané instrukce.
|
||||
První dvě čísla jsou X a Y pozice lodi, třetí a čtvrté číslo je X a Y rychlost lodi.
|
||||
Poté následuje několik jedniček nebo nul, kdy každá odpovídá jednomu cíli.
|
||||
Pokud už byl v simulaci daný cíl dosažen, má hodnotu 1, jinak má hodnotu 0.
|
||||
|
|
Loading…
Reference in a new issue