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
Zagwostka
Autor Wiadomość
Gasparzinho 


Dołączył: 15 Lut 2010
Posty: 4
Skąd: Rumia, 3City
Wysłany: 17-02-2010, 18:16   Zagwostka

W ramach przypomnienia sobie języka CBot ,postanowiłem przejść sobie całą grę, ćwiczenia, wyzwania itd. No i narodził się pewien problem - napisałem program:
Cytat:
extern void object::Informacje()
{

float dir, len;

while ( true );
{ dir = receive("DIRECTION");
if ( dir == nan ) break;


len = recieve("LENGHT");
if ( len == nan ) break;


turn (dir);
move (len);

}
}

Ale przy kompilowaniu pisze "Polecenie break na zewnątrz pętli". Pokombinowałem - nic...
Zajrzałem do rozwiązania ,a tam:
Cytat:
extern void object::Rozwi¹zanie( )
{
float dir, len;

while ( true )
{
dir = receive("Direction");
if ( dir == nan ) break;

len = receive("Length");
if ( len == nan ) break;

turn(dir);
move(len);
}
}

Jak dostrzegłem, programy się niczym nie różnią ,a ten pod nazwą Rozwiązanie działa... Ktoś mi podpowie ,czy błąd jest w programie czy grze? :)
Z góry dziękuję i pozdrawiam
 
 
     
FE4R 


Twoja ulubiona misja: Saari - Inwazja
Pomógł: 4 razy
Wiek: 24
Dołączył: 21 Paź 2009
Posty: 144
Wysłany: 17-02-2010, 18:32   

Może umieść break; w nawiasie klamrowym po if.
 
     
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 17-02-2010, 19:16   

@up: nie;
@topic: nie dawaj średnika po while(true)
_________________
1Tbps Project && Telecomix Network

 
 
     
Gasparzinho 


Dołączył: 15 Lut 2010
Posty: 4
Skąd: Rumia, 3City
Wysłany: 17-02-2010, 21:47   

adiblol napisał/a:
@up: nie;
@topic: nie dawaj średnika po while(true)

Faktycznie, dziękuję.
Program się już skompilował, jednak po otrzymaniu informacji robot nic nie robi i program się wyłącza...

O, sam znalazłem :D ! Kolejna literówka - pisałem "Lenght" zamiast "Length"
Taki prosty program, a się namęczyłem
 
 
     
:}
Gość


Wysłany: 25-02-2010, 21:42   eureka!

chyba wiem w czym problem
gdy taka wartos nie istnieje nie jest =nan, tylko Not a number a jak chcesz sprawdzic czy istnieje to zrob tak:

bool a;
a=testinfo("Lenghto")
if(a=false)//jesli istnieje to true
{
break;
}

pisalem od renki wienc sprawdz czy nie ma literowek
 
     
bbiidduull 


Dołączył: 09 Lut 2009
Posty: 140
Wysłany: 21-03-2010, 14:13   

Są literówki.... renki, wienc, Lenghto... trudno skopiować i wkleić ?
ręki więc Length
 
     
kolas 


Dołączył: 13 Mar 2010
Posty: 8
Wysłany: 22-03-2010, 17:34   

Ja też raz w swobodnej grze się męczyłem, dlaczego robot mi nie wykonuje programu kilka razy, a tu się okazało, że dałem średnik po while :mrgreen:
 
 
     
bbiidduull 


Dołączył: 09 Lut 2009
Posty: 140
Wysłany: 22-03-2010, 17:48   

A ja poległem na złym wpisaniem Length :D
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

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