Når Captain Jack bruger sin lyssensor med floodlight slået til, ser han hvor meget ting under ham reflekterer. Farverne sort og hvid fungere på den måde at de reflektere hhv. mindst og mest lys. Jack bruger så en tærskelværdi til at afgøre om han befinder sig på noget sort eller hvidt.
Vi har brugt standardværdien på 45, hvilket fungerede glimrende ved test. Hvis ikke den havde virket, så ville vi kunne finde det ved at tage de to ekstremer (helt hvid og helt sort) og vælge en tærskel midt mellem de to.
| Yellow | 55% |
|---|---|
| Black | 52% |
| Red | 49% |
| Green | 37% |
| Blue | 32% |
| White | 30% |
Hvis vi sætter lyssensoren til at måle på ambient light kan Captain Jack ikke længere følge en sort streg, da han måler baggrundslyset, så i et ekstremt case kan han dreje højre om sig selv hele dagen og venstre hele natten.
Med en linjetykkelse på cirka 2cm kunne Jack sagtens følge den rundt med sleep tid på 100 og naturligvis med en sleeptid på 10. Sætter vi Jack til at opdaterer hvert sekund havde den stakkels kaptajn nærmest ikke en chance for at opfatte linjen og der udbrød stor jubel da han en enkelt gang spottede den.
I et så simpelt program som giver det faktisk ikke mening at ha sat sleep værdien så højt da vi ikke skal bruge processortiden til andre ting, så en værdi på 100 eller 10 må siges at være bedre.
Ved at bruge de prædefinerede strenge til output, havde heapen hele tiden 52448 enheder fri. Men skiftede vi til at skrive strengene direkte til lcd displayet, kunne vi se hvordan heapen fik mindre og mindre fri plads i takt med at flere streng objekter blev oprettet pr. iteration. Til sidst måtte garbage collectoren sætte ind, så mængden af fri heap lå imellem ~52448 og ned til ~0.
Ingen kommentarer:
Send en kommentar