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
chwytak
Autor Wiadomość
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 09-12-2009, 12:22   chwytak

Jak zrobić program który sprawdza czy robot ma Baterie atomową w chwytaku.Z góry dzięki;)
_________________

 
     
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: 09-12-2009, 16:58   

Jeśli robot ma cokolwiek w chwytaku to warunek:
Kod:
this.load!=null

zwróci true.

Aby sprawdzić, czy ma baterię atomową w chwytaku, należy posłużyć się polem category klasy object:
Kod:
this.load.category==NuclearCell

zwróci true, jeśli w chwytaku jest bateria atomowa.

Uwaga! Należy użyć dwóch warunków, w podanej kolejności! W przeciwnym wypadku program się wykrzaczy, gdyż nie można odwoływać się do pól obiektu, który nie istnieje (ponieważ nie ma nic w chwytaku).
_________________
1Tbps Project && Telecomix Network

 
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 09-12-2009, 17:01   

adiblol mało znam się na klasach, możesz jaśniej?
_________________

 
     
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: 09-12-2009, 17:49   

Brain required.
_________________
1Tbps Project && Telecomix Network

 
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 09-12-2009, 17:52   

Chciałbym żeby po wykryciu baterii w chwytaku wrócił na statek kosmiczny.
_________________

 
     
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: 09-12-2009, 19:30   

Że się powtórzę: wymagany mózg i IQ nieco powyżej średniej blondynki (nie mam nic do inteligentnych kobiet o blond włosach!), wszystko jest w SatComie, porób ćwiczenia to się nauczysz CBota!
_________________
1Tbps Project && Telecomix Network

 
 
     
FE4R 


Twoja ulubiona misja: Saari - Inwazja
Pomógł: 4 razy
Wiek: 24
Dołączył: 21 Paź 2009
Posty: 144
Wysłany: 09-12-2009, 22:37   

Bartek c++ napisał/a:
adiblol mało znam się na klasach, możesz jaśniej?

Nie ma tutaj nic z klas.

'This' może wskazywać na robota, który wykonuje program, jednak jest to jedynie zabieg kosmetyczny, gdyż robot automatycznie będzie odnosił się do siebie. Więc jeśli ustawisz warunek np:

Kod:
if ( load != null) // jeśli ładunek istnieje
{

instrukcje...

}


Aby sprawdzić jaką kategorię ma ładunek, nie musisz sprawdzać czy istnieje(gdy nie istnieje, warunek po prostu zwróci wartość null). A więc starczy jedynie:

Kod:
if (load.category == NuclearCell) // czy ładunek to ogniwo nuklearne?
{

instrukcje...

}
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 10-12-2009, 11:23   

DZIęki nauczyłem się troche z satcomu ale zamało jeszcze raz dzięki!.
_________________

 
     
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: 10-12-2009, 17:23   

FE4R napisał/a:
Aby sprawdzić jaką kategorię ma ładunek, nie musisz sprawdzać czy istnieje(gdy nie istnieje, warunek po prostu zwróci wartość null).

Niestety nie, program się wykrzaczy z błędem 'obiekt nieznany'.
_________________
1Tbps Project && Telecomix Network

 
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 10-12-2009, 18:10   

A jak sprawdzić czy robot jest działem fazowym?
_________________

 
     
FE4R 


Twoja ulubiona misja: Saari - Inwazja
Pomógł: 4 razy
Wiek: 24
Dołączył: 21 Paź 2009
Posty: 144
Wysłany: 10-12-2009, 18:55   

Bartek c++ napisał/a:
A jak sprawdzić czy robot jest działem fazowym?

W jakim kontekście? Bo nie rozumiem.
 
     
Berserker 
Dark Ness


Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy
Wiek: 24
Dołączył: 24 Mar 2009
Posty: 496
Skąd: Bigos
Wysłany: 11-12-2009, 07:22   

Kod:
object.category==PhazerShooter

Dopisz se if czy co tam chcesz
_________________
 
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 11-12-2009, 12:05   

dzięki

[ Dodano: 11-12-2009, 13:57 ]
Berserker object tu nie pasuje :-/

Kod:
category==PhazerShooter

poprawka :)
_________________

 
     
Berserker 
Dark Ness


Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy
Wiek: 24
Dołączył: 24 Mar 2009
Posty: 496
Skąd: Bigos
Wysłany: 14-12-2009, 08:59   

Nie napisałeś czy chodZi o cel czy o robota wykonującego program:)
_________________
 
 
     
Bartek c++ 


Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy
Wiek: 20
Dołączył: 07 Lip 2009
Posty: 390
Wysłany: 19-12-2009, 20:55   

zrobiłem program(ale narazie testowany) że jeżeli osa będzie miała w łapkach materie organiczną to zaczyna czuwać i celować bardzo dobrze.
_________________

 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

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