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 |
|
|
Wykonanie funkcji po unicestwieniu obiektu |
Autor |
Wiadomość |
bonzaii
Ja
Twoja ulubiona misja: Moja Własna :D
Wiek: 26 Dołączył: 21 Lip 2009 Posty: 16 Skąd: Bydgoszcz
|
Wysłany: 22-07-2009, 14:49 Wykonanie funkcji po unicestwieniu obiektu
|
|
|
Chciałbym zrobić zliczanie posiadanych robotów (najlepiej za pomocą publicznej klasy).
Czy istnieje możliwość, żeby wywołać funkcję gdy mój robot ulega zniszczeniu? (Żeby on tą funkcję wywoływał)
Mam jeszcze na myśli drugi pomysł - zliczanie zabitych mrówek. Dodałbym taki kod do programu mrówki. |
|
|
|
|
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: 22-07-2009, 14:56
|
|
|
bonzaii napisał/a: | Czy istnieje możliwość, żeby wywołać funkcję gdy mój robot ulega zniszczeniu? (Żeby on tą funkcję wywoływał) |
W Colobocie nie ma zdarzeń (events) więc nie idzie tego zrobić... ewentualnie można zrobić żeby jakiś robot koordynator wywołał tą funkcję po wykryciu zniszczenia. |
_________________ 1Tbps Project && Telecomix Network
|
|
|
|
|
bonzaii
Ja
Twoja ulubiona misja: Moja Własna :D
Wiek: 26 Dołączył: 21 Lip 2009 Posty: 16 Skąd: Bydgoszcz
|
Wysłany: 22-07-2009, 16:23
|
|
|
Yhym a w drugą stronę? Jak stworzyć mrówkę, która od razu będzie działała programem swoim? Tworząc poziomy umiem to zrobić, ale w trakcie gry nie bardzo
@Edit:
tworzę mrówkę funkcją:
Kod: | produce(position,0,AlienAnt,"mrowka.txt") |
mrowka.txt to jakiś skrypt skopiowany z gry dla atakującej mrówki. Jest problem. Pojawia sie jajo (tak mi się wydaje) z którego mrówka się nie chce wykluć. A Tak w ogóle to nie pojawia się nic po za okrągłym cieniem na ziemi (z tego wnioskuję, że to jajo).
Mogę się domyślać, że to 0 jak zamienie na 1 to uruchomi przypisany program, ale pewności nie mam.
A problem z unicestwianiem rozwiązałem kodem dla bota - koordynatora:
Kod: |
public int object::Count(int what)
{
object item;
int i = 0, total = 0;
while (true)
{
item = retobject(i++);
if (item == null) return total;
if (item.category == what) total ++;
}
}
|
Liczy ilość podanych obiektów. W moim przypadku to będą mrówki.
Dać go w pętlę sprawdzaną co sekundę, i jak wartość się zmieni na mniejszą to znaczy, że jakaś mrówka została zabita |
|
|
|
|
pipok
Dołączył: 24 Cze 2009 Posty: 53
|
Wysłany: 22-07-2009, 19:54
|
|
|
bonzaii napisał/a: | tworzę mrówkę funkcją:
Kod: | produce(position,0,AlienAnt,"mrowka.txt") | Mogę się domyślać, że to 0 jak zamienie na 1 to uruchomi przypisany program, ale pewności nie mam. | Nie, nie. Pierwszy parametr funkcji produce() to położenie tworzonego obiektu, punkt, w którym się znajdzie, a drugi - to kierunek, w którą stronę będzie skierowany. bonzaii napisał/a: | Jest problem. Pojawia sie jajo (tak mi się wydaje) z którego mrówka się nie chce wykluć. A Tak w ogóle to nie pojawia się nic po za okrągłym cieniem na ziemi (z tego wnioskuję, że to jajo). | Przyjrzyj się swojemu kodowi:
produce(position,0,AlienAnt,"mrowka.txt");
Mrówka nie pojawia ci się dlatego, że tworzysz ją w tym samym miejscu, w którym stoi bot (królowa?) wykonujący skrypt! To miejsce już jest zajęte. |
|
|
|
|
bonzaii
Ja
Twoja ulubiona misja: Moja Własna :D
Wiek: 26 Dołączył: 21 Lip 2009 Posty: 16 Skąd: Bydgoszcz
|
Wysłany: 22-07-2009, 22:14
|
|
|
pipok napisał/a: | Przyjrzyj się swojemu kodowi:
produce(position,0,AlienAnt,"mrowka.txt");
Mrówka nie pojawia ci się dlatego, że tworzysz ją w tym samym miejscu, w którym stoi bot (królowa?) wykonujący skrypt! To miejsce już jest zajęte. |
Mrówka się moim zdaniem tworzy, bo robię ją robotem podczas latania. To była wina ładowanego skryptu. Znalazłem taki, jaki używa królowa i jest okej |
|
|
|
|
pipok
Gość
|
Wysłany: 23-07-2009, 00:27
|
|
|
bonzaii napisał/a: | pipok napisał/a: | Przyjrzyj się swojemu kodowi:
produce(position,0,AlienAnt,"mrowka.txt");
Mrówka nie pojawia ci się dlatego, że tworzysz ją w tym samym miejscu, w którym stoi bot (królowa?) wykonujący skrypt! To miejsce już jest zajęte. | Mrówka się moim zdaniem tworzy, bo robię ją robotem podczas latania | Tworzyć się tworzy. Tylko, że dokładnie w tym samym punkcie [x;y;z] ją umieszczasz, co bota. To generalnie nie jest dobry pomysł. |
|
|
|
|
Konrad
Gość
|
Wysłany: 24-07-2009, 11:27
|
|
|
Mrówka się "wyprodukuje" nawet jak robot będzie stał na ziemi. |
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|