Colobot to edukacyjna gra strategiczna wydana w 2001 roku. Gracz

Transkrypt

Colobot to edukacyjna gra strategiczna wydana w 2001 roku. Gracz
Colobot to edukacyjna gra strategiczna wydana w 2001 roku. Gracz wciela się w postać astronauty
odwiedzającego kolejne planety w poszukiwaniu dogodnego miejsca do kolonizacji. Podczas swoich
podróży gracz zwiedza kilka różnych planet wykonując powierzone mu zadania.
Colobot to gra jednoosobowa, jednak gracz nie jest w swojej misji sam – ma do pomocy rozmaite
roboty, które może programować do wykonywania określonych zadań z wykorzystaniem prostego
języka.
Gra zawiera kilka trybów rozgrywek – począwszy od trybu fabularnego – wykonywania misji
poszukiwania „Nowej Ziemi”, skończywszy na trybie „ćwiczeń” oraz „wyznań” – rozwiązywania
zagadek programistycznych.
Język stworzony do programowania robotów jest szczegółowo opisany we wbudowanym poradniku.
Instrukcje sterujące robotem są proste – sterowanie robotem sprowadza się do wywoływania
prostych funkcji, jak:
move(x); - przemieszczenie robota o x metrów w przód / w tył (ujemne x).
fire(x); - strzał z działa przez x sekund
turn(x); - obrót o robota o x stopni
Jednym z najprostszych zadań jest zadanie zestrzelenia trzech pająków z wykorzystaniem robota
strzelającego. Zadanie to możemy rozwiązać za pomocą prostego programu:
W celu stworzenia programu dla robota musimy go zaznaczyć, a następnie uruchomić edytor
programu wybierając wolną pozycję w liście dostępnych programów (zlokalizowaną w lewym dolnym
rogu ekranu) i klikając przycisk edytora znajdujący się po prawej stronie listy.
Wszystkie programy dla robotów umieszczamy wewnątrz konstrukcji:
extern void object::Nazwa_Programu()
{
}
Po napisaniu pierwszego program możemy go uruchomić klikając na przycisk wykonania program
(znajdujący się tuż obok przycisku edytora programów). Przyciśnięcie przycisku spowoduje
jednokrotne wykonanie przygotowanego programu.
Do kilkukrotnego wykonania niektórych instrukcji możemy wykorzystać instrukcje pętli opisane
w poradniku programowania robota.
Jednym z wyzwań w pierwszym etapie konkursu Motorola Solutions – Diversity 2014 jest rozwiązanie
zagadki programistycznej Colobot przygotowanej przez organizatorów konkursu. Zagadka ta znajduje
się w trybie Ćwiczenia > Rozdział 3 – Podstawy > Motorola Solutions.
Celem zadania jest przywrócenie komunikacji między dwoma ośrodkami Motorola Solutions –
w Krakowie i Brnie – odwzorowanymi jako dwa ośrodki znajdujące się na dwóch półwyspach.
Ośrodki komunikują się za pomocą sieci stacji przekaźnikowych, z których każda przetrzymuje
informacje o kolejnych stacjach przekaźnikowych, gdzie
. Informacje przetrzymywane są
w dwóch zmiennych: DirectionX, oraz DistanceX, gdzie X to numer zestawu
przetrzymywanych informacji w danej stacji przekaźnikowej, numerowany od 1. Ilość zestawów
danych przetrzymywany jest w zmiennej Nodes.
Przykładowo, stacja przekaźnikowa może zawierać następujące dane:
Nodes=2
Distance1=20.50
Direction1=-17.50
Distance2=-10.00
Direction2=78.54
Number=12
Celem zadania jest przeprowadzenie robota od punktu końcowego do punktu początkowego
odczytując informację ze stacji przekaźnikowych. Należy wziąć pod uwagę, że sieć połączeń może być
rozbudowana i wskazywać kilkukrotnie na te same stacje przekaźnikowe.
Ocenie podlegać będą rozwiązania w postaci programów przygotowanych dla robota, które
testowane będą na podobnej mapie – o takich samych zasadach konstrukcji sieci, lecz z inną
topologią.
Drużyny mają za zadanie przygotować jeden algorytm i przesłać go do organizatorów konkursu.
Oceniane jest poprawne wykonanie zadania oraz czas jego realizacji.
Przykładowy program mogący realizować zadanie pokazany jest poniżej.
Zaprezentowany algorytm jest niewydajny – liczy, że każda stacja wskazuje na przynajmniej jedną
następną stację (jest podatny na wpadnięcie w cykl, a także zatrzyma się, jeżeli nie dojedzie do stacji
nie przetrzymującej żadnego zestawu danych – Nodes=0). Na mapie testowej, dostarczonej wraz
z grą – algorytm poprawnie wykona powierzone zadanie - nie jest to jednak gwarantowane na
mapie, na której algorytmy będą oceniane).
Aby zapisać kod programu należy kliknąć na ikonę dyskietki w „Edytor programu” i wybrać miejsce
zapisu pliku wraz z jego nazwą np. Colobot-Diversity.txt
Organizatorzy konkursu Motorola Solutions – Diversity 2014 życzą wszystkim drużynom
konstruktywnych pomysłów oraz dużej ilości zabawy podczas poznawania zastosowań robotów
w codziennym życiu, a także w przyszłych zadaniach postawionych człowiekowi – jak kolonizacja
kosmosu!

Podobne dokumenty