Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 Polski Portal COLOBOTa - COLOBOT Polish Portal
Forum - Polski Portal COLOBOTa
Strona głównaStrona główna UżytkownicyUżytkownicy GrupyGrupy StatystykiStatystyki


Poprzedni temat «» Następny temat
saper
Autor Wiadomość
Krzysztof 
Master


Twoja ulubiona misja: ostatnia
Wiek: 18
Dołączył: 01 Wrz 2012
Posty: 13
Skąd: nieJestemBotem
Wysłany: 03-09-2012, 13:07   saper

Po wgraniu tego programu dla działka będzie ono przetwarzało tytan na miny :-) .
Kod:

extern void object::saper()
{
object p;
point a;
while(true){

if(radar(Titanium)!=null){
p = radar(Titanium,0,360);
a = p.position;
goto(space(p.position));
turn(direction(p.position));
aim(-7);
fire(0.05);
wait(0.5);
produce(a, 0, Mine, "");
}
wait(1);
}
}

Ostatnio zmieniony przez Krzysztof 16-09-2012, 18:43, w całości zmieniany 1 raz  
 
     
krzys_h 


Twoja ulubiona misja: Wszystkie :)
Pomógł: 3 razy
Wiek: 20
Dołączył: 12 Gru 2010
Posty: 255
Skąd: Łódź
Wysłany: 03-09-2012, 14:42   

Oryginalny pomysł :D
_________________
Gość, cieszysz się, że skontaktowaliśmy się z EPSITEC?
 
 
     
Raptor 
Clever Girl


Twoja ulubiona misja: Raptorowanie
Pomógł: 4 razy
Wiek: 24
Dołączył: 26 Cze 2010
Posty: 432
Skąd: Isla Nublar
Wysłany: 03-09-2012, 15:27   

Pomysł świetny. Prowizorka, ale za to jaka!

Trzeba będzie dopisać jeszcze algorytm omijania już istniejących min. Gdy tytan jest ułożony zbyt blisko siebie, robot po wyprodukowaniu miny przechodzi do następnej kostki i w dodatku się cofa, co jest dość niebezpieczne przy sąsiadującej już minie. Szkoda, że nie wiem, jak to zrobić.
_________________
- Stężenie czekolady we krwi: 93‰
- Ja to bym zjadł jeszcze batona...


 
     
Simbax 
Mod


Twoja ulubiona misja: Wszystkie na Krystalii
Pomógł: 6 razy
Wiek: 22
Dołączył: 07 Sie 2009
Posty: 473
Skąd: z Leszna
Wysłany: 03-09-2012, 16:16   

Algorytm omijania był w ćwiczeniach...

Pomysł dobry, wykonanie słabe. Niby działa, ale np. chciałbym sobie przy pomocy kilku zmiennych ustawić który tytan ma przerobić na minę (np. tylko ten w zasięgu kilku metrów albo tylko ten w kierunku północnym). W dodatku zauważyłem, że bardzo lubisz pętle nieskończone, a to niedobrze. Tak trudno zrobić porządny warunek?
_________________
http://projektsimbax.blogspot.com/ <- Taki sobie blog
 
     
Krzysztof 
Master


Twoja ulubiona misja: ostatnia
Wiek: 18
Dołączył: 01 Wrz 2012
Posty: 13
Skąd: nieJestemBotem
Wysłany: 03-09-2012, 16:28   

Simbax napisał/a:

Pomysł dobry, wykonanie słabe.

Wiem to był program zrobiony w 5 minut, spróbuję go ulepszyć.
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 03-09-2012, 21:06   

Zamiast:
Kod:
goto(p.position);
move(-1);
Wystarczy napisać:
Kod:
goto(space(p.position));
turn(direction(p.position));
W tym przypadku robot nie wpadnie na minę, ale jeszcze trzeba obliczyć kąt strzału bo aim(-20); się raczej nie sprawdzi.
 
 
     
Krzysztof 
Master


Twoja ulubiona misja: ostatnia
Wiek: 18
Dołączył: 01 Wrz 2012
Posty: 13
Skąd: nieJestemBotem
Wysłany: 16-09-2012, 18:44   

Poprawiłem.
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 17-09-2012, 17:11   

Po co ta zmienna a? Jest według mnie zbędna. Jej usunięcie skraca program.

Odległość między robotem a tytanem jest teraz zmienna. Kąt strzału nie może być więc stały bo może dojść do zacięcia programu.

Można albo ustawić odległość na stałą dodając odpowiednie parametry do space. Co jest szybkim ale nie najlepszym rozwiązaniem. Albo obliczyć dokładny kąt strzału przy użyciu funkcji trygonometrycznej.
 
 
     
Krzysztof 
Master


Twoja ulubiona misja: ostatnia
Wiek: 18
Dołączył: 01 Wrz 2012
Posty: 13
Skąd: nieJestemBotem
Wysłany: 17-09-2012, 18:19   

To weź wrzuć poprawiony program bo aktualnie nie mam czasu.
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Polski Portal COLOBOTa © 2008 - 2012