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 |
|
|
Robot sługa |
Autor |
Wiadomość |
RemixN
Twoja ulubiona misja: Swobodna gra
Dołączył: 24 Gru 2011 Posty: 6 Skąd: Układ Słoneczny
|
Wysłany: 26-12-2011, 13:19 Robot sługa
|
|
|
Witam! Chcę, aby robot(WheeledGrabber) przynosił kostkę tytanu obok ludzika(Me). Gdzie jest błąd?
Kod: |
extern void object::sluga()
{
object ludek;
ludek=radar(Me);
object obj;
obj=radar(Titanium);
if(obj!=null){
if(distance2d(position,ludek.position)<20){
turn(direction(obj.position));
move(distance(obj.position,position)-1);
grab();
turn(direction(ludek.position));
move(distance(position,ludek.position));
drop();
}
}
else{
message("Brak tytanu");
}
}
|
|
_________________ Nie używam Windowsa XP!
Używam przeglądarki MOZILLA FIREFOX!
Programuję w VB.NET |
|
|
|
|
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: 26-12-2011, 13:50
|
|
|
Musisz napisać w którym miejscu dokładnie masz błąd.
Ale chyba tutaj masz błąd:
Kod: | move(distance(position,ludek.position));
drop(); | Bo miejsce jest zajęte. Musisz napisać na przykład tak:
Kod: | move(distance(position,ludek.position)-2);
drop(); |
Polecam Ci jednak korzystanie z goto. |
|
|
|
|
Berserker
Dark Ness
Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy Wiek: 24 Dołączył: 24 Mar 2009 Posty: 496 Skąd: Bigos
|
Wysłany: 26-12-2011, 13:56
|
|
|
Kod: | extern void object::sluga()
{
object ludek;
ludek=radar(Me);
object obj;
obj=radar(Titanium);
if(obj!=null)
{
if(distance2d(position,ludek.position)<20)
{
goto(obj.position);
grab();
turn(direction(ludek.position));
move(distance(position,ludek.position)-3);
drop();
}
}
else
{
message("Brak tytanu");
}
} |
Nie chcialo mi sie bawic w zapisywanie, jak wkleisz do Colobota to bedzie wygladalo normalnie.
Ogolnie to zamienilem jedno turn() i move() na goto(), a w drugim move() dodalem -3. |
_________________
|
|
|
|
|
RemixN
Twoja ulubiona misja: Swobodna gra
Dołączył: 24 Gru 2011 Posty: 6 Skąd: Układ Słoneczny
|
Wysłany: 26-12-2011, 13:56
|
|
|
Jak korzystać z goto? Pisze, że miejsce docelowe jest niedostępne. |
_________________ Nie używam Windowsa XP!
Używam przeglądarki MOZILLA FIREFOX!
Programuję w VB.NET |
Ostatnio zmieniony przez RemixN 26-12-2011, 14:03, w całości zmieniany 1 raz |
|
|
|
|
Berserker
Dark Ness
Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy Wiek: 24 Dołączył: 24 Mar 2009 Posty: 496 Skąd: Bigos
|
Wysłany: 26-12-2011, 13:57
|
|
|
Bo to zalezy od tego, gdzie jest miejsce docelowe. Jak miejsce docelowe znajduje sie np. na innej planecie lub gdzies gdzie nie da sie wjechac, to wywala blad, ze niedostepne. |
_________________
|
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|