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
Boom
Autor Wiadomość
TanatosBot 


Twoja ulubiona misja: 2 na Wulkani i wszystkie na Tropice
Wiek: 23
Dołączył: 28 Cze 2009
Posty: 10
Skąd: Warszawa
  Wysłany: 14-08-2009, 23:53   Boom

Chce napisac program dla robota, który wybucha po kilku sekundach załóżmy po 5. Pomożecie ? :-D
_________________

 
 
     
jedrus113 
Wielki Geniusz


Twoja ulubiona misja: Na pewno nie 1: Na Saari 1: Uran
Wiek: 23
Dołączył: 07 Lip 2009
Posty: 20
Skąd: 127.0.0.1
Wysłany: 15-08-2009, 03:50   

To napisz. Ale jak on ma wybuchać? Ma se sam tworzyć mine?
_________________
Moja stronka www.jedrus113.cba.pl
 
 
     
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: 15-08-2009, 10:53   

Autodestrukcja? Napiszę program pod koniec miesiąca.
_________________
1Tbps Project && Telecomix Network

 
 
     
TanatosBot 


Twoja ulubiona misja: 2 na Wulkani i wszystkie na Tropice
Wiek: 23
Dołączył: 28 Cze 2009
Posty: 10
Skąd: Warszawa
Wysłany: 15-08-2009, 16:38   

Tak, autodestrukcja z 5 sekundowym opóźnieniem.
_________________

 
 
     
DemoLisH
Zbanowany


Wiek: 24
Dołączył: 20 Kwi 2008
Posty: 273
Skąd: Poznań
Wysłany: 16-08-2009, 21:04   

tu masz funkcje, napisałem ją w 5min
Kod:
void object::DestroyMe(float czas)
{
int timeNow=abstime();
point minePos;
while(position.z-topo(position)>0) jet(-1);

while(abstime()-timeNow<czas)continue;
minePos.x=position.x+cos(orientation)*2;
minePos.y=position.y+sin(orientation)*2;
minePos.z=position.z;
produce(minePos,0,Mine,"");
move(2);
}
_________________
Compiling [Gość.exe]...

Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604
 
 
     
TanatosBot 


Twoja ulubiona misja: 2 na Wulkani i wszystkie na Tropice
Wiek: 23
Dołączył: 28 Cze 2009
Posty: 10
Skąd: Warszawa
Wysłany: 24-08-2009, 14:01   

Niedziała
Zamiast DestroyedMe jest napisane <sens non> i nic nierobi.
_________________

 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 24-08-2009, 14:28   

To jest FUNKCJA. Wywołujesz ją z głównego programu, nie jako główny program...

Jeśli chcesz jako program, masz:

Kod:
extern void object::DestroyMe()
{
int timeNow=abstime();
point minePos;
while(position.z-topo(position)>0) jet(-1);

while(abstime()-timeNow<5)continue;
minePos.x=position.x+cos(orientation)*2;
minePos.y=position.y+sin(orientation)*2;
minePos.z=position.z;
produce(minePos,0,Mine,"");
move(2);
}


Sorry za błąd zapędziłem sie :oops:
Ostatnio zmieniony przez colobotwymiiata 25-08-2009, 13:26, w całości zmieniany 2 razy  
 
 
     
DemoLisH
Zbanowany


Wiek: 24
Dołączył: 20 Kwi 2008
Posty: 273
Skąd: Poznań
Wysłany: 25-08-2009, 11:26   

colobotwymiiata źle napisałeś, bo jak możesz w funkcji głównej wkładać argumenty!?

zastosowanie funkcji w programie wygląda następująco:
Kod:

extern void object::Program()
{
 DestroyMe(5); //zabij sie po 5 sekundach
}

void object::DestroyMe(float czas)
{
 int timeNow=abstime();
 point minePos;
 while(position.z-topo(position)>0) jet(-1);

 while(abstime()-timeNow<czas)continue;
 minePos.x=position.x+cos(orientation)*2;
 minePos.y=position.y+sin(orientation)*2;
 minePos.z=position.z;
 produce(minePos,0,Mine,"");
 move(2);
}
_________________
Compiling [Gość.exe]...

Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604
 
 
     
shoter
Gość


Wysłany: 25-08-2009, 12:45   można

można ...wystarczy że funkcja będzie publiczna(bądź czas to argument domniemany) i wywołamy ją z innego robota(nie wiem ale chyba się da z tego co pamiętam ^^)
 
     
pipok 


Dołączył: 24 Cze 2009
Posty: 53
Wysłany: 25-08-2009, 14:27   

DemoLisH napisał/a:
colobotwymiiata źle napisałeś, bo jak możesz w funkcji głównej wkładać argumenty!?
Funkcja główna może pobierać argumenty, np. z wiersza poleceń. W języku używanym w COLOBOCIE obsługę takich argumentów można zrobić w taki sposób:
Kod:
extern void object::DestroyMe()
{
    float  czas;

    czas = cmdline(0);
    ...
wówczas w pliku 'scene01.txt' wystarczy wywołać program główny w taki sposób:
Kod:

CreateObject pos= -30; 163 dir=0 type=AlienAnt script1="suicide.txt" run=1  cmdline=  5;
 
     
DemoLisH
Zbanowany


Wiek: 24
Dołączył: 20 Kwi 2008
Posty: 273
Skąd: Poznań
Wysłany: 25-08-2009, 16:10   

ale Wy jestescie dziwni
_________________
Compiling [Gość.exe]...

Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604
 
 
     
Bartek c++
Gość


Wysłany: 26-08-2009, 19:24   

Możebyć też i to poco sie trudzić

produce(position,0,Mine,"");
move(-2);
move(2);

nikt o tym nie pomyślał. 8-)


// WTF?! Pisanie postów przez gości miało być wyłączone...
Ostatnio zmieniony przez colobotwymiiata 26-08-2009, 20:02, w całości zmieniany 1 raz  
 
     
Schocker 
Wants cookies!


Twoja ulubiona misja: Hmm... All.
Pomógł: 3 razy
Wiek: 22
Dołączył: 31 Maj 2009
Posty: 177
Skąd: Wadowice
Wysłany: 26-08-2009, 20:00   

@Bartek C++, a gdzie tam jest
Cytat:
[...] wybucha po kilku sekundach, załóżmy po 5[...]

? Tutaj chodzi właśnie o to kilka sekund.

BTW: jak tylko będzie admin, niech definytywanie wyłąćzy pisanie przez gości we wszystkich działach. @Bartek C++: Masz bana, tak omijasz zabezpieczenia, a to jest złe. W tej wersji phpBB, ew. w którymś modzie pewnie są możliwe bany na IP.
_________________
But there's no sense crying over every mistake, you just keep on trying 'till you ran out of cake -GlaDOS
 
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

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