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 |
|
|
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 ? |
_________________
|
|
|
|
|
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
|
|
|
|
|
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 |
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ń
|
|
|
|
|
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ł.
// 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
|
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|