Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 Polski Portal COLOBOTa - COLOBOT Polish Portal
Forum - Polski Portal COLOBOTa
Strona głównaStrona główna UżytkownicyUżytkownicy GrupyGrupy StatystykiStatystyki


Poprzedni temat «» Następny temat
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 :mrgreen:
 
     
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

 
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Polski Portal COLOBOTa © 2008 - 2012