|
Polski Portal COLOBOTa COLOBOT Polish Portal |
|
Problemy [programowanie] - Zagwostka
Gasparzinho - 17-02-2010, 18:16 Temat postu: 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 - 17-02-2010, 18:32
Może umieść break; w nawiasie klamrowym po if.
adiblol - 17-02-2010, 19:16
@up: nie;
@topic: nie dawaj średnika po while(true)
Gasparzinho - 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 ! Kolejna literówka - pisałem "Lenght" zamiast "Length"
Taki prosty program, a się namęczyłem
:} - 25-02-2010, 21:42 Temat postu: 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 - 21-03-2010, 14:13
Są literówki.... renki, wienc, Lenghto... trudno skopiować i wkleić ?
ręki więc Length
kolas - 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
bbiidduull - 22-03-2010, 17:48
A ja poległem na złym wpisaniem Length
|
|