Czy marzysz o tym, aby stworzony przez Ciebie robot był niezniszczalny? Pokonywał przeciwników bez specjalnych uszkodzeń? Czy chcesz zyskać międzynarodową sławę jako „haker(ka) roku” lub „niestraszony(a) coder”? Teraz to wszystko jest w zasięgu ręki, a właściwie obu rąk, którymi tworzysz …..
Aha, czytasz dalej, zatem interesuje Cię ten temat – to dobrze. Przejdę zatem do konkretów.
Wirtualna arena zmagań.
Roboty walczą ze sobą na specjalnej arenie – trochę przypomina ona szachownicę, ale poza tym jest inna. Roboty pojawiają się w losowo wybranych tzw. punktach wejścia (SPAWN points), a następnie mogą poruszać sie po planszy w sposób, jaki zaprogramujemy, tworząc ich inteligencję (AI) – oczywiście kodując ją w Pythonie.
AI – Artificial Intelligence – Inteligencja naszego robota.
To, w jaki sposób „walczy Twój robot”, zależy tylko od Ciebie. Tworzysz kod w Pythonie, który determinuje zachowanie robota. Możesz uczyć się od najlepszych – inni programiści udostępniają swój kod, Ty również możesz. To nazywa się OpenSource – Otwarty Kod.
# snoflake by sne11ius # http://robotgame.org/viewrobot/1250 import rg class Robot: def num_enemies(self, game): enemies = 0 for location, bot in game.get('robots').items(): if bot.get('player_id') != self.player_id: if 1 == rg.wdist(self.location, location): enemies += 1 return enemies def num_frieds(self, game): friends = 0 for location, bot in game.get('robots').items(): if bot.get('player_id') == self.player_id: if 1 == rg.wdist(self.location, location): friends += 1 return friends def act(self, game): num_enemies = self.num_enemies(game) if num_enemies * 9 > self.hp: return ['suicide'] min_distance = float("inf") move_to = rg.CENTER_POINT for location, bot in game.get('robots').items(): if bot.get('player_id') != self.player_id: if rg.dist(location, self.location) <= 1: return ['attack', location] if bot.get('player_id') == self.player_id: if rg.wdist(location, self.location) < min_distance: min_distance = rg.wdist(location, self.location) move_to = location if min_distance < 2: move_to = rg.CENTER_POINT if self.location == rg.CENTER_POINT: return ['guard'] if self.num_frieds(game) > 1: return ['guard'] return ['move', rg.toward(self.location, move_to)]
Walka – czy Twój robot jest odważny?
W każdej chwili możesz poddać Twojego robota testowi – uruchamiając „walkę” z dowolnym innym robotem. Przeliczenie 100 rund walki (standardowo) na komputerze z procesorem Core2Duo 2 x 2,26 GHz trwa około 15 sekund. Potem możesz sopokojnie zobaczyć wizualizacje walki.
Wyzwanie – dołącz do nas !
Chcesz spróbować nauczyć się programować takie roboty? Nic prostszego – pokaż ten artykuł nauczycielowi/nauczycielce informatyki z Twojej lub zaprzyjaźnionej szkoły. Centrum Edukacji Obywatelskiej prowadzi projekt o nazwie „Koduj z Klasą”, w którym szkoli nauczycieli organizuje rozgrywki robotów.
Aby dołączyć do programu, po prostu kliknij link – ZAPISY do Koduj z Klasą.
Jestem jednym z Ambasadorów programu, więc może sie zdarzyć, że pojawię się w Twojej szkole….
„Let the challenge begin…”
Adam Jurkiewicz – haker edukacji, absolwent kursów Massachusetts Institute of Technology z języka programowania Python.
Trener technologii Web 2.0 ze szczególnym uwzględnieniem otwartych zasobów edukacyjnych. Programista, administrator systemów UNIX/Linux, twórca remiksu edukacyjnego FREE_Desktop – remiksu systemu operacyjnego dla wolnych ludzi, legalnego i darmowego dla wszystkich.
Prelegent oraz prowadzący warsztaty dla nauczycieli w trakcie wielu konferencji edukacyjnych, m.in: Od Becika Każdy Klika w Kołobrzegu, K@SSK w Nowym Tomyślu, Ogólnopolski Zjazd Opekunów Pracowni Szkolnych w Mrozach, Nowoczesne Technologie dla Edukacji w Radomiu.
Współpracownik Fundacji Wolnego i Otwartego Oprogramowania, w projekcie „Strategie Wolnych i Otwartych Implementacji” twórca części scenariuszy mechatronicznych zajęć pozalekcyjnych z użyciem oprogramowania Scratch i mikrokontrolerów kompatybilnych z Arduino oraz ekspert ds. systemów i współtwórca systemu operacyjnego Szkolny Remiks Uczniowski.
Współpracownik Fundacji Interkl@sa, w projekcie „E-Pasj@ – nowoczesne nauczanie” ekspert ds. otwartego oprogramowania edukacyjnego. Prowadzi spotkania edukacyjne z nauczycielami w całym kraju.
Współpracownik Centrum Edukacji Obywatelskiej, w projekcie „Koduj z Klasą” ambasador i trener nauczycieli w zakresie języka programowania Python.
Propagator Wolnego i Otwartego Oprogramowania, otwartej cyfrowej mapy OpenStreet Map i wszelkich „otwartych” rozwiązań. Prywatnie – miłośnik szant, stateczny mąż i ojciec, zwariowany nauczyciel młodzieży jeśli tylko ma okazję.
Zdobywca wyróżnienia Listy 100 Szerokiego Porozumienina Rzecz Umiejętności Cyfrowych Polsce w latach 2017, 2020 i 2021, członek zarządu Szkolnej Sekcji Informatyki przy Polskim Towarzystwie Informatycznym. Trener języka programowania Python, robotyki, mechatroniki, technologii komputerowych ze szczególnym uwzględnieniem otwartych zasobów edukacyjnych oraz oprogramowania OpenSource.
Autor książki „Python 3. Projekty dla początkujących i pasjonatów” wydanej przez Helion Edukacja.
Współautor treści z języka Python w projekcie E-Podręczniki do kształcenia ogólnego dla klas ponadgimnazjalnych. Współautor książki "Koduj w Pythonie - tworzymy grę przygodową" oraz publikacji "ENIGMA - Poznaj zagadkę Enigmy, tworząc grę przygodową w Pythonie" wydanych przez Fundację Rozwoju Edukacji Cyfrowej.
- Czy chcemy być „na szmyczy” korporacji? - 31 lipca 2023
- WordPress w edukacji – jak uczyć kompetencji w bezpieczny sposób. - 3 lutego 2023
- Prezent świąteczny – FREE-SERWER - 2 grudnia 2022