Colobot Forum - International Colobot Community
Problem z canbuild() - Printable Version

+- Colobot Forum - International Colobot Community (https://colobot.info/forum)
+-- Forum: [Archive] New forum (2015-2019) (https://colobot.info/forum/forumdisplay.php?fid=76)
+--- Forum: Polish Forums (https://colobot.info/forum/forumdisplay.php?fid=73)
+---- Forum: O wszystkim (https://colobot.info/forum/forumdisplay.php?fid=74)
+---- Thread: Problem z canbuild() (/showthread.php?tid=1043)



Problem z canbuild() - Liptonleon3 - 07-18-2018

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);



RE: Problem z canbuild() - krzys_h - 07-19-2018

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()
.