Colobot Forum - International Colobot Community

Full Version: Problem z canbuild()
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Witam, ten fragment kodu ma za zadanie znaleźć miejsce do wybudowania dowolnego budynku (zmienna cat przechowuje kategorię, robot na samym początku już trzyma kostkę tytanu). Kiedy próbowałem użyć go w programobitwie przeciwko obcym to robot podjeżdżał do wybrzeża tak, że nie da się nic zbudować, kładł kostkę tytanu i wyświetlał błąd, że jest za mało miejsca.


Pętla while najwyraźniej się kończy również wtedy, gdy nie ma miejsca na budowlę.

Code:
while(true){
        
    goto(space());
    if(canbuild(cat) == true) break;
        
}
    
drop();
build(cat);
Code:
canbuild()
nie sprawdza czy budynek można wybudować w tym miejscu, sprawdza tylko czy budynek jest odblokowany (włączony w misji + wykonane niezbędne badania).

Code:
space()
z kolei znajduje jakiekolwiek wolne miejsce ale niekoniecznie płaskie - do znajdowania miejsca do budowy trzeba użyć funkcji
Code:
flatspace()
.