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

Programy - Moje odkrycie ^^

Kubus11 - 26-02-2008, 21:50
Temat postu: Moje odkrycie ^^
Dzisiaj grając w Colobot'a doznałem oświecenia. Pewnie kilku z Was nie wiedząc co zrobić, żeby robot poczekał na np. wyprodukowanie ogniwa atomowego, wpisywało wait(x); . radar(NuclearCell, 0, 45, 0, 10); nie działało w tym przypadku. Ale ja odkryłem dlaczego. Przedstawię to na przykładzie wymienionego powyżej ogniwa atomowego i elektrowni.
Kod:
extern void object::Uranium()
{
object item1, item2;
item2 = radar(NuclearPlant);
item1 = radar(UraniumOre);
goto(item1.position);
grab();
goto(item2.position);
drop();
move(-2.5);
do
{
wait(1);
}
while (item2.energyCell.category != NuclearCell);
}

Chodzi o to, że robot wykrywa ogniwo, jako baterię budynku, a nie obiekt leżący swobodnie na ziemi, więc radar tego nie wykrywał. Gdy na to wpadłem, napisanie tego programu było banalne.
Ach, jak ja lubię te oświecenia ^^
Pozdro ;)

Tomesy - 26-02-2008, 21:59
Temat postu: RE: Moje odkrycie ^^
Ja wiedziałem dlaczego radar nie wykrywa baterii, ale nie przyszło mi do głowy takie rozwiązanie :) Dobra robota :)
COLOBOT - 26-02-2008, 22:02
Temat postu: RE: Moje odkrycie ^^
No to gratuluję :) Ja rozwiązałem ten problem w inny sposób. Wpisałem instrukcję
Kod:
while (blad != 0)
{
blad = grab();
}

Powyższy program nie działa, ale pokazuje jak ja to zrobiłem. Po prostu robot próbuje zabrać ogniwo do momentu gdy zostanie wyprodukowane i już mu się to uda.

Kubus11 - 26-02-2008, 22:04
Temat postu: RE: Moje odkrycie ^^
Nie wiedziałem, że aż taki fajny ten mój program ^^ Hehe :P
YanPL - 27-02-2008, 09:55
Temat postu: RE: Moje odkrycie ^^
Kubus - program fajny; z tym że niepotrzebnie szukasz po raz kolejny radarem Nuclear planta skoro był w item2 :P
mr. admin - na pewno wcześniej było errmode(0); hę?

Kubus11 - 27-02-2008, 12:49
Temat postu: RE: Moje odkrycie ^^
Ahh tak, nie zauważyłem ;)
COLOBOT - 27-02-2008, 16:55
Temat postu: RE: Moje odkrycie ^^
Cytat:
YanPL napisał/a:
mr. admin - na pewno wcześniej było errmode(0); hę?

Tak, musi być errmode, bo inaczej program by wywalił błąd.

mrowek - 02-07-2008, 09:45
Temat postu: RE: Moje odkrycie ^^
ja to zauważyłem z rudą tytanu z kopalni.:D bo jak wpisałem TitaniumOre to nie chciało znaleźć, a jak Derrick to już tak
Andreas - 02-07-2008, 19:08
Temat postu: RE: Moje odkrycie ^^
Hę?:| To dziwne, bo u mnie znajduje rudę tytanu z kopalni...
mrowek - 02-07-2008, 19:48
Temat postu: RE: Moje odkrycie ^^
u mnie nie znajdywało:(
lukas_j - 04-07-2008, 17:16
Temat postu: RE: Moje odkrycie ^^
i u mnie tez... pozatym po co wpisywac zeby czekal na wyprodukowanie. Lepiej wpisac wait(30); a potem grab();
jest prosciej :P

mrowek - 04-07-2008, 18:21
Temat postu: RE: Moje odkrycie ^^
to wait(30); jest bez sensu po to za długo czeka
colobotwymiiata - 03-02-2009, 18:18
Temat postu: RE: Moje odkrycie ^^
Super!!:o Sam bym na to nie wpadł:)

Powered by phpBB modified by Przemo & WRIM © 2003 phpBB Group