Problem Set 3: Karel allows variables

Ciele

  • Ukázať, ako ste si osvojili algoritmické zmýšľanie a prácu s robotom Karlom.
  • Naučiť sa systematicky vytvárať návrh programu, program a komentáre.
  • Osvojiť si prácu s premennými.
  • Precvičiť si používanie riadiacich štruktúr pri tvorbe programov.
  • Osvojiť si prácu so systémom na správu verzií git.

Git

Ak ste tak ešte nespravili, zoznámte sa so systémom Git, pomocou ktorého prebehne odovzdanie tohto zadania (a neskôr aj odovzdanie ďalších zadaní). K dispozícii máte krátke cvičenie, v rámci ktorého nastavíte systém Git: Version Control.

Problém

Od Vášho cvičiaceho dostanete číslo problému vo svete robota Karla.

Navrhnite program na riešenie popísaného problému. Nezabudnite, že tentokrát je povolené používať lokálne premenné. Zadanie odovzdajte do systému git do 12.11.2018. Presný spôsob odovzdania je uvedený nižšie.

Pri odovzdaní Vášho programu použite vo funkcii turnOn() názov mapy ps3.kw.

Zoznam problémov nájdete na konci tejto stránky

Požiadavky pre úspešné odovzdanie zadania

  • Projekt musí byť odovzdaný včas v git repozitári na adrese git.kpi.fei.tuke.sk (viď nižšie).
  • Počas prekladu nemôže dôjsť ku žiadnej chybe! Projekt sa bude prekladať prekladačom gcc pomocou nasledovných prepínačov:
gcc -std=c11 -Werror -Wall -lkarel -lcurses -lm
  • Vo výslednej implementácii sa nemôže nachádzať žiadna globálna premenná.
  • Pri odovzdaní Vášho programu použite vo funkcii turnOn() názov mapy ps3.kw.

Odovzdávanie projektu

Zadanie odovzdajte do 12.11.2018. Posledné testovanie prebehne v tento deň o polnoci.

Zadanie sa odovzdáva prostredníctvom systému na správu verzií Git na serveri git.kpi.fei.tuke.sk.

Názov Vášho projektu musí byť v tvare: zap-2018.

Projekt musí mať nasledujúcu štruktúru priečinkov a súborov:

.
├── ps3
│   ├── README
│   └── ps3.c
└── README

Význam jednotlivých súborov je nasledovný:

  • README resp. README.md - Súbor, v ktorom bude uvedená Vaša skupina, ktorú navštevujete na cvičeniach:
GROUP : C1
  • /ps3/README resp. /ps3/README.md - Súbor, v ktorom bude uvedené číslo problému, ktoré Vám pridelil Váš cvičiaci:
PROBLEM : 3
  • /ps3/ps3.c - Zdrojový kód riešenia problému (jeho číslo Vám pridelil Váš cvičiaci).

Upozornenie

Je dôležité, aby Vaše súbory zachovali uvedenú štruktúru. Ak sa niektorý zo súborov síce v repozitári nachádza, ale v inom priečinku, bude to považované za chybu a takýto projekt nebude považovaný za správny.

Poznámka

Ak sa vo Vašom projekte budú nachádzať ďalšie súbory okrem požadovaných, ich existencia nebude považovaná za chybu.

Upozornenie

Pri názvoch priečinkov, súborov a obsahu súboru README resp. README.md záleží na veľkosti písmen!

Poznámka

Názov súboru s číslom skupiny a problému môže byť README alebo README.md. Avšak v jednom adresári sa musí nachádzať len jeden!

Hodnotenie a testovanie

Za zadanie môžete získať max. 10 bodov. Počet získaných bodov sa bude odrážať od výsledku testov, ktorými Vaše zadanie úspešne prejde. Overovať sa bude:

  • Štruktúra Vášho projektu (či sa v ňom nachádzajú všetky potrebné súbory).
  • Funkčnosť Vašej implementácie.

Váš kód sa bude prekladať prekladačom gcc s nasledovnými prepínačmi:

gcc -std=c11 -Werror -Wall -lkarel -lcurses -lm

Za chybu sa bude považovať:

  • Ak vo Vašej implementácii použijete globálnu premennú.
  • Ak počas prekladu dôjde ku chybe (upozornenia sú priamo konvertované na chyby).
  • Ak Vaša implementácia neprejde niektorým z testov.

Testovanie Vašich riešení sa bude vykonávať automaticky každé 3 hodiny a to konkrétne o 0300, 0600, 0900, 1200, 1500, 1800, 2100 a 2400.

Vaše riešenia prejdú kontrolou originality. Preto sa pri práci na Vašom zadaní správajte podľa pravidiel etického kódexu! V prípade, že odovzdáte zadanie, ktoré nie je Vaše, môžete byť vylúčení z predmetu!

Zoznam problémov

01: Rámce

Nech existuje nasledujúcich 5 rámcov:

. . . . . . . . | . . . . . . . . | . . . . . . . . | . . . . . . . . | . 1 1 1 . . . .
                |                 |                 |                 |
3 3 3 3 3 3 . . | . . . . . . . . | . . . . . . . . | . . 2 2 2 2 . . | . 1 . 1 . . . .
                |                 |                 |                 |
3 . . . . 3 . . | 5 5 5 5 5 5 . . | . . . . . . . . | . . 2 . . 2 . . | . 1 . 1 . . . .
                |                 |                 |                 |
3 . . . . 3 . . | 5 . . . . 5 . . | . . . . . . . . | . . 2 . . 2 . . | . 1 1 1 . . . .
                |                 |                 |                 |
3 . . . . 3 . . | 5 . . . . 5 . . | . . . . 4 4 4 4 | . . 2 . . 2 . . | . . . . . . . .
                |                 |                 |                 |
3 . . . . 3 . . | 5 . . . . 5 . . | . . . . 4 . . 4 | . . 2 2 2 2 . . | . . . . . . . .
                |                 |                 |                 |
3 . . . . 3 . . | 5 5 5 5 5 5 . . | . . . . 4 . . 4 | . . . . . . . . | . . . . . . . .
                |                 |                 |                 |
3 . . . . 3 . . | . . . . . . . . | . . . . 4 4 4 4 | . . . . . . . . | . . . . . . . .
                |                 |                 |                 |
3 3 3 3 3 3 . . | . . . . . . . . | . . . . . . . . | . . . . . . . . | . . . . . . . .
                |                 |                 |                 |
. . . . . . . . | . . . . . . . . | . . . . . . . . | . . . . . . . . | . . . . . . . .

Ak by sa tieto rámce postupne umiestnili na seba tak, že pri prekrývaní značiek by boli viditeľné iba tie, ktoré sú na vrchu, vznikol by nasledujúci rámec:

 .   1   1   1   .   .   .   .

 3   1   2   1   2   2   .   .

 5   1   2   1   5   2   .   .

 5   1   1   1   .   2   .   .

 5   .   2   .   4   2   4   4

 5   .   2   2   2   2   .   4

 5   5   5   5   4   5   .   4

 3   .   .   .   4   4   4   4

 3   3   3   3   3   3   .   .

 .   .   .   .   .   .   .   .

V akom poradí sú rámce uložené? Odpoveď je 3 5 4 2 1.

Úlohou robota Karla je určiť na základe rozloženia značiek vo svete, v akom poradí boli rámce na seba poukladané, ak platí:

  • Rámce vždy obsahujú jeden štvorec alebo jeden obdĺžnik
  • Strana rámca nie je nikdy kratšia ako 3 pozície
  • Rámce sú označené číslami v podobe značiek vo svete
  • Žiadne dva rámce nemajú rovnaké označenie
  • Vždy je viditeľná aspoň jedna pozícia každej strany každého rámca
  • Svet obsahuje min. 1 rámec a max. 5 rámcov

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Robot Karel začína na juho-západnej pozícii. Rámce sú rozmiestnené zo západu na východ a zo severu na juh.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 1)   EAST      30         0
ST.+---------------------------------------+
10 | 1   1   1   1   5   5   5   5   1   1 |
   |                                       |
 9 | 1   .   .   .   5   4   4   5   4   1 |
   |                                       |
 8 | 2   2   2   2   5   5   5   5   4   1 |
   |                                       |
 7 | 2   .   .   3   3   4   3   3   4   1 |
   |                                       |
 6 | 2   .   .   3   .   4   .   3   4   1 |
   |                                       |
 5 | 2   .   .   3   3   4   3   3   4   1 |
   |                                       |
 4 | 2   2   2   2   .   4   .   .   4   1 |
   |                                       |
 3 | 1   .   .   .   .   4   4   4   4   1 |
   |                                       |
 2 | 1   1   1   1   1   1   1   1   1   1 |
   |                                       |
 1 | >   .   .   .   .   .   .   .   .   . |
   +---------------------------------------+
     1   2   3   4   5   6   7   8   9   10  AVE.
Koncová situácia

Poradie, v akom boli rámce na seba poukladané, nech je vyjadrené v podobe značiek v spodnom riadku sveta v smere zo západu na východ. Tento riadok nie je súčasťou rámcov (na začiatku je vždy prázdny). Zvyšok sveta je na konci prázdny. Robot Karel končí na juho-východnej pozícii.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (10, 1)  EAST      206         0
ST.+---------------------------------------+
10 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 9 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 8 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 7 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 6 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 5 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 4 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 3 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 2 | .   .   .   .   .   .   .   .   .   . |
   |                                       |
 1 | 1   2   3   4   5   .   .   .   .   > |
   +---------------------------------------+
     1   2   3   4   5   6   7   8   9   10  AVE.

02: Prevody

Vytvorte program, pomocou ktorého naučíte robota Karla prevádzať desiatkové čísla do dvojkovej sústavy. Každé číslo, ktoré je potrebné previesť, je reprezentované postupnosťou značiek nachádzajúcich sa za sebou v jednom riadku, pričom jednotlivé číslice budú reprezentované počtom značiek na danej pozícii. To znamená, že ak chceme zapísať číslo 123, na mape bude najprv umiestnená jedna značka, hneď za ňou dve a následne tri značky. Výsledok operácie robot Karel zapíše pod toto číslo rovnakým spôsobom. Po vykonaní operácie prevodu sa na mape budú nachádzať obe čísla: číslo v desiatkovej podobe a jeho binárna reprezentácia.

Platí, že desiatkové číslo neobsahuje číslicu 0. Svet je dostatočne široký, aby sa do neho zmestili všetky číslice binárneho čísla.

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Robot Karel sa bude nachádzať pred číslom, ktoré má previesť.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 5)   EAST      99         0
ST.+-----------------------------------+
 6 | .   .   .   .   .   .   .   .   . |
   |                                   |
 5 | >   1   2   3   .   .   .   .   . |
   |                                   |
 4 | .   .   .   .   .   .   .   .   . |
   |                                   |
 3 | .   .   .   .   .   .   .   .   . |
   |                                   |
 2 | .   .   .   .   .   .   .   .   . |
   |                                   |
 1 | .   .   .   .   .   .   .   .   . |
   +-----------------------------------+
     1   2   3   4   5   6   7   8   9   AVE.
Koncová situácia

Karel sa bude nachádzať za poslednou číslicou binárneho čísla. Číslo v binárnom formáte je zapísané od prvej jednotky (nedodržujeme zápis na práve X bitov). Svet je dostatočne široký na to, aby bolo do neho možné výsledok zapísať.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (9, 4)   EAST      93         0
ST.+-----------------------------------+
 6 | .   .   .   .   .   .   .   .   . |
   |                                   |
 5 | .   1   2   3   .   .   .   .   . |
   |                                   |
 4 | .   1   1   1   1   .   1   1   > |
   |                                   |
 3 | .   .   .   .   .   .   .   .   . |
   |                                   |
 2 | .   .   .   .   .   .   .   .   . |
   |                                   |
 1 | .   .   .   .   .   .   .   .   . |
   +-----------------------------------+
     1   2   3   4   5   6   7   8   9   AVE.

03: Binárny strom

Robot Karel má k dispozícii svet, v ktorom sa nachádzajú značky tvoriace binárny strom. Jeho úlohou je zistiť, či v tomto strome existuje taká cesta od koreňa k listu, kde súčet jednotlivých uzlov stromu je rovný konkrétnej hodnote (pozri na webe). Napr. v strome na obrázku sú presne 4 cesty od koreňa k listom. Ich súčty sú 27, 22, 26 a 18.

Binárny strom
Obr. 1: Binárny strom

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Hodnota, ktorá určuje súčet, sa nachádza v ľavom hornom rohu sveta. Robot Karel sa nachádza pred touto hodnotou. Strom je vytvorený tak, aby sa jeho najnižšie listy dotýkali spodného riadku sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (2, 5)   WEST       0         0
ST.+-----------------------------------------------------------+
 5 | 22  <   .   .   .   .   .   .   .   .   .   .   .   .   . |
   |                                                           |
 4 | .   .   .   .   .   .   .   5   .   .   .   .   .   .   . |
   |                                                           |
 3 | .   .   .   4   .   .   .   .   .   .   .   8   .   .   . |
   |                                                           |
 2 | .   11  .   .   .   .   .   .   .   13  .   .   .   4   . |
   |                                                           |
 1 | 7   .   2   .   .   .   .   .   .   .   .   .   .   .   1 |
   +-----------------------------------------------------------+
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  AVE.
Koncová situácia

Ak v strome existuje cesta s daným súčtom, Karel skončí v ľavom hornom rohu sveta. Ak taká cesta neexistuje, Karel skončí v pravom hornom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 5)   WEST       0         22
ST.+-----------------------------------------------------------+
 5 | <   .   .   .   .   .   .   .   .   .   .   .   .   .   . |
   |                                                           |
 4 | .   .   .   .   .   .   .   5   .   .   .   .   .   .   . |
   |                                                           |
 3 | .   .   .   4   .   .   .   .   .   .   .   8   .   .   . |
   |                                                           |
 2 | .   11  .   .   .   .   .   .   .   13  .   .   .   4   . |
   |                                                           |
 1 | 7   .   2   .   .   .   .   .   .   .   .   .   .   .   1 |
   +-----------------------------------------------------------+
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  AVE.

04: Trojuholníky

Robot Karel má k dispozícii svet, ktorý má v ľavom hornom rohu sveta značky. Počet týchto značiek vyjadruje hodnotu, podľa ktorej bude Karel riešiť nasledujúci problém: Je potrebné vygenerovať zoznam strán (celočíselných dĺžok) pravouhlých trojuholníkov, ktorých súčet je menší ako hodnota zadaná v ľavom hornom rohu sveta. Na každú ulicu (do každého riadku) Karel postupne za sebou umiestni značky tak, aby ich počet vyjadroval dĺžky strán trojuholníkov. Napr. pre hodnotu 35 by riešenie vyzeralo ako na vzorovej situácii. Pre značky, ktoré vyjadrujú dĺžky strán trojuholníkov, platí:

  • Prvá trojica strán trojuholníka sa nachádza pod pozíciou so vstupnou hodnotou (druhý riadok zhora).
  • Svet má dostatočný počet riadkov na umiestnenie dĺžok strán trojuholníkov.
  • Prvá strana (vľavo) je vždy najmenšia z troch strán trojuholníka a posledná strana (vpravo) je vždy najväčšia.
  • Riadky, na ktorých sú umiestnené dĺžky strán trojuholníkov, sú zoradené podľa veľkosti najmenších strán (podľa strany a), t.j. podľa ľavého stĺpca.
  • V prípade, že sa v zozname strán trojuholníkov nachádzajú dva záznamy s rovnakými stranami a, dané dva riadky sa zoradia podľa veľkosti druhej strany, t.j. podľa strany b.

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Karel sa nachádza v ľavom hornom rohu sveta na mieste, kde sú značky so vstupnou hodnotou.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 4)   EAST      100        35
ST.+-----------+
 4 | >   .   . |
   |           |
 3 | .   .   . |
   |           |
 2 | .   .   . |
   |           |
 1 | .   .   . |
   +-----------+
     1   2   3   AVE.
Koncová situácia

Karel končí v pravom hornom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (3, 4)   EAST      34         0
ST.+-----------+
 4 | 35  .   > |
   |           |
 3 | 3   4   5 |
   |           |
 2 | 5   12  13|
   |           |
 1 | 6   8   10|
   +-----------+
     1   2   3   AVE.

05: Míny

Robot Karel má k dispozícii svet, v ktorom sa nachádzajú značky o počte 0-8. Tieto značky vyjadrujú, koľko mín sa nachádza na susedných pozíciách vo svete. Úlohou robota Karla je umiestniť do sveta míny (položením značiek o počte 10).

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Karel začína v ľavom hornom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 6)   EAST      50         1
ST.+---------------------------+
 6 | >   1   .   .   .   .   . |
   |                           |
 5 | .   2   1   1   .   .   . |
   |                           |
 4 | 2   3   .   2   1   1   . |
   |                           |
 3 | 1   .   2   2   .   1   . |
   |                           |
 2 | 1   1   1   1   1   1   . |
   |                           |
 1 | .   .   .   .   .   .   . |
   +---------------------------+
     1   2   3   4   5   6   7   AVE.
Koncová situácia

Karel končí v pravom dolnom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (7, 1)   EAST      10         0
ST.+---------------------------+
 6 | 1   1   .   .   .   .   . |
   |                           |
 5 | 10  2   1   1   .   .   . |
   |                           |
 4 | 2   3   10  2   1   1   . |
   |                           |
 3 | 1   10  2   2   10  1   . |
   |                           |
 2 | 1   1   1   1   1   1   . |
   |                           |
 1 | .   .   .   .   .   .   > |
   +---------------------------+
     1   2   3   4   5   6   7   AVE.

06: Panoráma

Robot Karel musí nakresliť obrysy mesta na 2-rozmernej panoráme. K dispozícii má obrysy všetkých budov v meste, a jeho úlohou je teda pretransformovať ilustráciu mesta uvedenú v počiatočnej situácii na ilustráciu uvedenú v koncovej situácii. Platí, že robot Karel sa na začiatku môže nachádzať na ľubovoľnej pozícii vo svete.

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Karel začína na ľubovoľnom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 1)   NORTH      0         0
ST.+-----------------------------------------------------------+
10 | .   .   .   .   .   .   .   .   .   .   .   .   .   .   . |
   |                                                           |
 9 | .   .   .   .   .   .   .   .   .   1   1   1   .   .   . |
   |                                                           |
 8 | .   .   .   .   .   .   .   .   .   1   .   1   .   .   . |
   |                                                           |
 7 | .   .   .   .   .   .   .   .   .   1   .   1   .   .   . |
   |                                                           |
 6 | .   .   .   .   1   1   1   1   .   1   .   1   .   .   . |
   |                                                           |
 5 | .   .   .   .   1   .   .   1   .   1   .   1   .   .   . |
   |                                                           |
 4 | .   1   1   1   1   .   .   1   .   1   1   1   1   1   . |
   |                                                           |
 3 | .   1   .   1   1   1   1   1   .   1   1   1   .   1   . |
   |                                                           |
 2 | .   1   .   1   1   .   1   1   .   1   1   1   .   1   . |
   |                                                           |
 1 | ^   1   .   1   1   .   1   1   .   1   1   1   .   1   . |
   +-----------------------------------------------------------+
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  AVE.
Koncová situácia

Karel končí v pravom dolnom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (15, 1)  EAST      17         0
ST.+-----------------------------------------------------------+
10 | .   .   .   .   .   .   .   .   .   .   .   .   .   .   . |
   |                                                           |
 9 | .   .   .   .   .   .   .   .   .   1   1   1   .   .   . |
   |                                                           |
 8 | .   .   .   .   .   .   .   .   .   1   .   1   .   .   . |
   |                                                           |
 7 | .   .   .   .   .   .   .   .   .   1   .   1   .   .   . |
   |                                                           |
 6 | .   .   .   .   1   1   1   1   .   1   .   1   .   .   . |
   |                                                           |
 5 | .   .   .   .   1   .   .   1   .   1   .   1   .   .   . |
   |                                                           |
 4 | .   1   1   1   1   .   .   1   .   1   .   1   1   1   . |
   |                                                           |
 3 | .   1   .   .   .   .   .   1   .   1   .   .   .   1   . |
   |                                                           |
 2 | .   1   .   .   .   .   .   1   .   1   .   .   .   1   . |
   |                                                           |
 1 | .   1   .   .   .   .   .   1   .   1   .   .   .   1   > |
   +-----------------------------------------------------------+
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  AVE.

07: Iagno

Iagno je hra (pozri na webe), ktorú hrajú dvaja hráči vo svete o veľkosti 8x8 prostredníctvom 1 značky pre hráča č. 1 a prostredníctvom 2 značiek pre hráča č. 2. Hráči postupne ukladajú značky na prázdne pozície sveta tak, aby daný hráč uzatvoril aspoň jedno pole, ktoré patrí druhému hráčovi. Pole/polia sú uzatvorené vtedy, ak sa v ich priamej horizontálnej, vertikálnej alebo diagonálnej línii z oboch strán nachádzajú polia protihráča. Keď sa v hre takýto krok uskutoční, počet značiek všetkých polí, ktoré boli uzatvorené, bude zmenený na počet značiek prislúchajúci danému hráčovi (ktorý uzatvorenie vytvoril).

Robot Karel je hráčom č. 1 a jeho úlohou je položiť 3 značky na všetky pozície vo svete, kde je možné vykonať ďalší ťah proti hráčovi č. 2 (viď počiatočná a koncová situácia).

Nezabudnite, že je povolené používať lokálne premenné.

Počiatočná situácia

Robot Karel sa na začiatku nachádza na ľubovoľnej pozícii.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (1, 1)   NORTH      100        0
ST.+-------------------------------+
 8 | .   .   .   .   .   .   .   . |
   |                               |
 7 | .   .   .   .   .   .   .   . |
   |                               |
 6 | .   .   .   2   .   .   1   . |
   |                               |
 5 | .   .   .   2   2   2   .   . |
   |                               |
 4 | .   .   1   2   1   1   .   . |
   |                               |
 3 | .   .   1   1   2   1   .   . |
   |                               |
 2 | .   .   1   .   .   .   .   . |
   |                               |
 1 | ^   .   .   .   .   .   .   . |
   +-------------------------------+
     1   2   3   4   5   6   7   8  AVE.
Koncová situácia

Karel končí v pravom dolnom rohu sveta.

 CORNER  FACING  BEEP-BAG  BEEP-CORNER
 (8, 1)   EAST      79         0
ST.+-------------------------------+
 8 | .   .   .   .   .   .   .   . |
   |                               |
 7 | .   .   3   3   .   .   .   . |
   |                               |
 6 | .   .   3   2   3   3   1   . |
   |                               |
 5 | .   .   .   2   2   2   .   . |
   |                               |
 4 | .   .   1   2   1   1   .   . |
   |                               |
 3 | .   .   1   1   2   1   .   . |
   |                               |
 2 | .   .   1   3   3   .   .   . |
   |                               |
 1 | .   .   .   .   .   .   .   > |
   +-------------------------------+
     1   2   3   4   5   6   7   8  AVE.

Doplňujúce zdroje

  1. Karel Language Reference
  2. Version Control
  3. Tu nájdete knižnicu robota Karla, vrátane návodu na inštaláciu knižnice