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 |
|
|
Roboty Latające |
Autor |
Wiadomość |
damianxaron
Dołączył: 22 Sie 2012 Posty: 1 Skąd: nieJestemBotem
|
Wysłany: 22-08-2012, 20:30 Roboty Latające
|
|
|
Witam!
Zauważyłem że transportery latające otrzymawszy komendę np. przenieś rude tytanu do huty, doleciawszy do celu będą stały w powietrzu dopóki przegrzanie silnika nie osiągnie stanu krytycznego. Można skorygować to jakąś komendą?
Edit: Przypomniało mi się. Można również przyspieszyć start? Aby nie czekał na całkowite ochłodzenie silnika tylko wziął rudę, wystartował i ewentualnie wylądował, po czym znów by poleciał. |
|
|
|
|
tomangelo
Dołączył: 11 Lip 2012 Posty: 32 Skąd: nieJestemBotem
|
Wysłany: 22-08-2012, 21:06
|
|
|
Możesz lądować poleceniem jet(-1); . Po dotarciu do celu robot opada na ziemię.
Nie wiem czy jest to możliwe w grze, ale można też skusić się o powolne zmniejszanie wysokości, wraz ze zmniejszaniem się odległości, wtedy potrzebny byłby jakiś algorytm obliczający prędkość opadania, a następnie pętla warunkowa
Kod: | if(odleglosc_do_celu <= odleglosc_przy_ktorej_robot_powinien_zaczac_ladowanie){
jet(-wynik_algorytmu);
}
|
Całość jednak musiałaby być na tyle inteligentna, by po drodze nie zahaczyć o inny budynek, jednak w teorii byłoby to nieco szybsze, gdyż w pierwszym rozwiązaniu robot leci poziomo do celu, po osiągnięciu celu hamuje i czeka aż prędkość wyniesie idealne zero, przez co wisi w powietrzu około 1-2 sekund i dopiero ląduje, tutaj robot poleci lotem prostym i zatrzyma się tuż przed budynkiem docelowym.
Jednak nie jestem pewien czy jest to wykonalne w grze, pomysł wpadł przed chwilą i nie mam go chwilowo jak przetestować. |
|
|
|
|
damianxaron
Gość
|
Wysłany: 22-08-2012, 21:18
|
|
|
Pomysł niezły. Aby nie haczył o budnki można stworzyć wykrywacz używając komendy if. Ale nie jestem pewny czy da się stworzyć pętle warunkową na więcej niż 1 obiekt. I nie jestem pewien czy sama pętla o której powiedziałeś jest możliwa do stworzenia . Już odpalam colobota i zabieram się za testy. |
|
|
|
|
Simbax
Mod
Twoja ulubiona misja: Wszystkie na Krystalii
Pomógł: 6 razy Wiek: 22 Dołączył: 07 Sie 2009 Posty: 473 Skąd: z Leszna
|
Wysłany: 23-08-2012, 09:44
|
|
|
damianxaron napisał/a: | Ale nie jestem pewny czy da się stworzyć pętle warunkową na więcej niż 1 obiekt. |
Nie wiem czy to zadziała i czy dobrze cię zrozumiałem, ale można zrobić tak:
Stwórz sobie tablicę obiektów typu int i do każdego elementu wpisz nazwę kategorii poszczególnych obiektów.
Czyli:
Kod: |
int obiekty[];
obiekty[0] = TargetBot;
obiekty[1] = BotFactory;
// i tak dalej...
|
Potem możesz użyć funkcji radar w taki sposób:
Wtedy będzie szukała każdego obiektu, który został wpisany. Oczywiście dodaj do niej jeszcze pozostałe argumenty, chyba że chcesz żeby przeszukała całą mapę. Zakończy się pewnie na pierwszym znalezionym obiekcie. Skoro to funkcja, to bez problemu umieścisz ją w warunku.
Użyłem tego kiedyś w jednym z moich programów (funkcja główna): http://www.colobot.cba.pl...topic.php?t=784 |
_________________ http://projektsimbax.blogspot.com/ <- Taki sobie blog |
Ostatnio zmieniony przez Simbax 23-08-2012, 09:47, w całości zmieniany 1 raz |
|
|
|
|
Madman07
Wiek: 28 Dołączył: 29 Maj 2011 Posty: 133 Skąd: Ze Stargate ;]
|
Wysłany: 23-08-2012, 09:46
|
|
|
Walnąć tutaj regulator PID i po kłopocie ;] |
_________________
"The Destiny. Launched hundreds of thousands of years ago. Faster than light, yet not through hyperspace. Who knows how far it's traveled." |
|
|
|
|
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: 25-08-2012, 08:21
|
|
|
Madman07 napisał/a: | Walnąć tutaj regulator PID i po kłopocie ;] | No przecież! właśnie o tym myślałem.
Problem ten wymaga chyba modyfikacji komendy goto. Sam fragment zniżania wysokości przed celem jest łatwy. Trudne jest pokonanie większej odległości. Wydaje mi się, że jeszcze nikomu nie udało się napisać działającego goto. |
|
|
|
|
Madman07
Wiek: 28 Dołączył: 29 Maj 2011 Posty: 133 Skąd: Ze Stargate ;]
|
Wysłany: 25-08-2012, 10:14
|
|
|
Tak z ciekawości, któregoś dnia musiałbym przetestować rozwiązania typu regulator PID teraz, kiedy wiem jak to działa. Swoją drogą, kod z drugiego postu to taki regulator P, dodając człony ID można usprawnić lądowanie |
_________________
"The Destiny. Launched hundreds of thousands of years ago. Faster than light, yet not through hyperspace. Who knows how far it's traveled." |
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|