Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
|
Forum - Polski Portal COLOBOTa |
|
|
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ł |
_________________ 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. |
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|