15. leden 2020 Autor: Bronislav
Tento návod obsahuje veliké obrázky. Ke komfortnímu zobrazení obrázků využijte raději stolní počítač nebo notebook. Na mobilním zařízení bude prohlížení takto velkých obrázků nepohodlné.
Seznam kapitol |
---|
1. Jak se naučit programovat - COLOBOT |
2. První mise: Leaving Earth - část 1.Equipment |
3. První mise: Leaving Earth - část 2.Building |
4. První mise: Leaving Earth - část 3.Departure |
V poslední, třetí části mise Leaving Earth, máme za úkol provést výzkum v budově "ResearchCenter". Výzkum můžeme provést, až umístíme do budovy "ResearchCenter" palivový článek "PowerCell". (Program pro robota již máme z minulé kapitoly.)
Výzkum musíme provést, abychom mohli v budově "BotFactory" postavit robota s pásy "TracketGrabber".
Bez robota "TracketGrabber" bychom totiž nebyli schopni dokončit misi. Protože musíme do kosmické lodi dopravit černou skřínku: "BlackBox". Ta se nachází na kopci a tam se kosmonaut ani robot pouze s kolečky "WheeledGrabber" nedostanou.
"Titanium", ze kterého lze robota vyrobit bychom mohli do továrny dopravit ručně, ale my napíšeme robotovi "WheeledGrabber" program:
extern void object::Titanium_goto_BotFactory()
{
    // 1) definice promenne
    object item;                     // iformace o objektu
   
   
    // 2) jdi k Titanium a vem ho
    item = radar(Titanium);             // rozhledni se po Titanium
    goto(item.position);                 // jdi na pozici
    grab();                             // uchop clanek
   
   
    // 3) jdi do BotFactory a poloz Titanium
    item = radar(BotFactory);             // rozhledni se po BotFactory
    goto(item.position);                 // jdi na pozici
    drop();                             // poloz Titanium
   
    // 4) couvni 3 metry
    move(-3);             // couvni 3 metry
}
S umístěným "Titanium" v "BotFactory" již můžeme vyrobit robota s pásy "TracketGrabber".
Aby robot s pásy "TracketGrabber" fungoval, musíme do něj umístit napájecí článek "PowerCell". Využijeme tedy robota pouze s kolečky "WheeledGrabber" a spustíme v něm program:
extern void object::PowerCell_goto_BotFactory()
{
    // 1) definice promenne
    object item;                     // iformace o objektu
   
   
    // 2) jdi k PowerCell a vem ho
    item = radar(PowerCell);             // rozhledni se po PowerCell
    goto(item.position);                 // jdi na pozici
    grab();                             // uchop clanek
   
   
    // 3) jdi do BotFactory a poloz clanek
    item = radar(BotFactory);             // rozhledni se po BotFactory
    goto(item.position);                 // jdi na pozici
    drop();                             // poloz clanek
   
    // 4) couvni 5 metry
    move(-5);             // couvni 5 metru
}
Máme tedy již k dispozici robota s pásy, a tedy můžeme dopravit do kosmické lodi černou skřínku: "BlackBox". Spustíme tedy v robotovi "TracketGrabber" program:
extern void object:: BlackBox_goto_SpaceShip()
{
    // 1) definice promenne
    object item;                     // iformace o objektu
   
   
    // 2) jdi k BlackBox a vem ho
    item = radar(BlackBox);             // rozhledni se po BlackBox
    goto(item.position);                 // jdi na pozici
    grab();                             // uchop clanek
   
   
    // 3) jdi do SpaceShip a poloz clanek
    item = radar(SpaceShip);             // rozhledni se po SpaceShip
    goto(item.position);                 // jdi na pozici
    drop();                             // poloz clanek
   
}
"BlackBox" je bohužel umístěn moc blízko budovy "Information exchange post" a robot může hlásit, že nemá k vyzvednutí "BlackBox" dostatek místa. V tom případě je nutné k "BlackBox" zajet ručně, trochu jej posunout. Poté již bude program po spuštění vykonán úspěšně. Výuková hra COLOBOT hráče informuje o příčině potíží a tedy lze problémy následně vyřešit.
Po dokončení programu již budeme mít v kosmické lodi "SpaceShip" robota s pásy "TracketGrabber" i černou skřínku "BlackBox".
Umístíme ještě do ní kosmonauta a robota s kolečky "WheeledGrabber". Kosmonauta musíme chtě nechtě "řídit" ručně. U robota můžeme využít program:
extern void object::goto_SpaceShip()
{
    // 1) definice promenne
    object item;                     // iformace o objektu
   
    // 2) jdi do SpaceShip
    item = radar(SpaceShip);             // rozhledni se po SpaceShip
    goto(item.position);                 // jdi na pozici
}
Tím jsme dokončili všechny úkoly. Stačí kliknout na kosmickou loď a následně na tlačítko: Take off.
Úspěšně jsme tedy absolvování první misi: Leaving Earth. Zpřístupní se nám tedy další, druhá v pořadí: On the Moon. (Celkem je misí devět.)
V průvodci naleznete další užitečné příklady programů pro různé činnosti robotů. Další příklady programů naleznete také v části Exercises (Cvičení).
Po zvládnutí základů se můžete vrhnout na plnění Challanges.
Dokonce můžete změřit síly proti jiným programátorům v Code battles.
Přeji příjemné programování.