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 2016 jest rozwiązanie zagadki programistycznej Colobot przygotowanej przez organizatorów konkursu. Zagadka ta znajduje się pod przyciskiem Diversity w głównym menu programu. Celem jednego z zadań jest przywrócenie komunikacji między dwoma ośrodkami Motorola Solutions. 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 2016 ż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!