ZAP - Cvičenie č. 11 | Lab 11 (2019/2020)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Cvičenie sa venuje implementácii funkcie SolveMaze, ktorá má za úlohu previesť kravu bludiskom na hraciu plochu vloženými smerovými znakmi (šípky a symboly pre otočenie) až do cieľovej pozície. Najprv sa pomocou funkcií FindCow a FindFinish zisťujú súradnice a natočenie hráča aj pozícia cieľa. Následne sa v cykle počíta ďalšia pozícia v smere pohybu, kontroluje sa, či na nej nie je stena, a ak áno, zavolá sa funkcia na zmenu smeru, zapíše sa príslušný znak do sveta a zvýši sa počítadlo zmien smeru. Ak stena nie je, hráč sa posunie na novú pozíciu, pričom cyklus beží až kým sa nedosiahne cieľová bunka F. Súčasťou riešenia je aj ošetrenie patovej situácie, keď sa hráč dvakrát za sebou ocitne pri stene, čo indikuje neriešiteľné bludisko.

  • - Cieľom je naprogramovať funkciu SolveMaze, ktorá do sveta vkladá šípky/značky smeru a počíta zmeny smeru.
  • - Pomocou FindCow sa zisťuje pozícia a natočenie hráča, pomocou FindFinish pozícia cieľa.
  • - V cykle sa vypočíta nasledujúca pozícia (next x, next y) podľa aktuálneho smeru pohybu.
  • - Ak je na ďalšej pozícii stena, zavolá sa ChangeDirection, do sveta sa zapíše nový smerový znak a zvýši sa počítadlo zmien.
  • - Ak stena nie je, hráč sa posunie na vypočítanú novú pozíciu.
  • - Cyklus pokračuje, kým hráč nedosiahne cieľovú bunku označenú F.
  • - Pridané je ošetrenie patovej situácie – ak sa hráč dvakrát za sebou zastaví pri stene, bludisko je nevyriešiteľné.

Zhrnutie pripravené s pomocou AI z prepisu videa.