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 |
|
|
Komunikacja |
Autor |
Wiadomość |
shoter
Dołączył: 24 Gru 2008 Posty: 56
|
Wysłany: 22-02-2009, 21:25 Komunikacja
|
|
|
Mam pytanie,czy widzieliście kod który za pomocą jednej klasy i kilku funkcji nieskładowych klasy potrafił zmienić grupe robotów w "kolonie"?
-O co biega?
Chodzi o to że dane roboty miały by wyznaczany cel (powiedzmy w pliku textowym klasa cały czas zapisywała by co dany robot robi + przypisywała zmienną textową do każdego robota która byłaby jego nazwą) , jednakże ten cel nie byłby stałą lecz zmienną(wyznaczaną przez klase(już to pisałem)).Oczywiście klasa powinna być małym modułem inteligencji i postępowania Probotów (MMIIPP)(napisałem tam P tylko po to aby skrót fajnie wyglądał ;P,nvm).Moduł ten powinien analizować na bieżąco sytuacje określonych robotów(robot '1' ma zbyt małą ilość energi,MMIIPP wysyła robota '3' z ogniwem atomowym).Ogólnie MIP byłby koordynatorem(houston?) robotów.
Więc mam pytanie,czy ktoś widział taki program?
Ostatnio nie grałem w Colobota(a szkoda?).Zostawiłem tam mój drugi program wykorzystujący komunikacje robot-robot(plik textowy...).Mój pierwszy program nazywał się defender niestety był dosyć 'ubogi'(jest na forum) |
|
|
|
|
Konrad
Wiek: 30 Dołączył: 06 Lut 2009 Posty: 47 Skąd: z Polski
|
Wysłany: 22-02-2009, 21:28
|
|
|
Ja to nie wiem nawet co to klasa |
|
|
|
|
DeiDara
Derosa out.
Twoja ulubiona misja: Wszystkie z Wulkani
Pomógł: 2 razy Wiek: 21 Dołączył: 23 Lip 2008 Posty: 205 Skąd: Włocławek
|
Wysłany: 22-02-2009, 21:28
|
|
|
chyba nie ma takiego programu |
_________________ An open mind is like a fortress with its gates unbarred and unguarded.
|
|
|
|
|
Abadon
Administrator forum Administrator
Pomógł: 3 razy Dołączył: 11 Sie 2008 Posty: 586
|
Wysłany: 22-02-2009, 21:30
|
|
|
Raczej takiego programu nie widziałem, zarówno takiego pomysłu jak Twój (bardzo ciekawy, dający nowe możliwości [w misjach może się przydać]). |
_________________
|
|
|
|
|
COLOBOT
Administrator sieci Założyciel portalu
Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz Dołączył: 07 Lut 2008 Posty: 353 Skąd: Jarocin
|
Wysłany: 22-02-2009, 22:24
|
|
|
Niestety nigdzie czegoś takiego nie widziałem. Jeśliby to miało zadziałać to jakiś robot musiałby mieć ten moduł inteligencji, bo klasa nie potrafi przypisać celu robotom. Tylko też powstaje pytanie w jakim celu tak kombinować. Raczej niepotrzebne są aż tak zaawansowane rozwiązania, wystarczy każdemu robotowi nadać jakiś cel (np. ładowanie innym zużytych ogniw) i niech się jego trzyma. |
_________________ Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
|
|
|
|
|
bbiidduull
Dołączył: 09 Lut 2009 Posty: 140
|
Wysłany: 22-02-2009, 22:49
|
|
|
A za pomocą przekaźnika nie dałoby rade?
P.S Czy da się odróżnić 2 przekaźniki tzn. ze mam 2 przekaźniki i chce wysłać do jednego. |
|
|
|
|
shoter
Dołączył: 24 Gru 2008 Posty: 56
|
Wysłany: 23-02-2009, 07:50
|
|
|
bbiidduull można je odróżnić porównując zawarte w nich informacje =) |
|
|
|
|
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: 23-02-2009, 13:24
|
|
|
Dla robota koordynatora:
Kod: | class Koordynator {
static point cel;
static bool atakuj;
void Dzialaj() {
if (!atakuj) return;
turn(direction(this.cel));
motor(1,1);
while (distance(this.cel, position)>30) {
wait(0.5);
}
aim(0);
fire(1);
}
}
extern void object::SzukajZagrozenia() {
object item;
Koordynator ko;
while(true) {
item=radar(AlienAnt);
if (item==null) {
ko.atakuj=false;
} else {
ko.atakuj=true;
ko.cel=item.position;
}
wait(2);
}
}
|
Dla robota wojownika:
Kod: |
extern void object::Wojownik() {
Koordynator ko;
while(true) {
ko.Dzialaj();
wait(1);
}
}
|
Przykład pisałem z głowy bo jestem w szkole. Nie sprawdzałem oczywiście.
[ Dodano: 26-02-2009, 16:10 ]
A co do stacji przekaźnikowej to nie da się decydować do której chcesz wysyłać/odbierać informacje. Jedynym sposobem jest po prostu zbliżenie się do którejś - informacja zostanie wysłana/odebrana od stacji która jest najbliżej. |
_________________ 1Tbps Project && Telecomix Network
|
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|