colobot-data/help/cbot/P/object.txt

71 lines
4.8 KiB
Plaintext

\b;Typ \c;object\n;
Typ używany dla zmiennych zawierających charakterystyki obiektów, takich jak roboty, budynki, surowce, wrogowie, itp.
\c;\l;int\u cbot\int; object.category \n;\l;Kategoria\u cbot\category; obiektu
\c;\l;point\u cbot\point; object.position \n;Pozycja obiektu (x,y,z)
\c;\l;float\u cbot\float; object.orientation \n;Orientacja obiektu (0..360)
\c;\l;float\u cbot\float; object.pitch \n;Pochylenie obiektu przód/tył
\c;\l;float\u cbot\float; object.roll \n;Pochylenie obiektu prawo/lewo
\c;\l;float\u cbot\float; object.energyLevel \n;Poziom energii (0..1)
\c;\l;float\u cbot\float; object.shieldLevel \n;Poziom osłony (0..1)
\c;\l;float\u cbot\float; object.temperature \n;Temperatura silnika odrzutowego (0..1)
\c;\l;float\u cbot\float; object.altitude \n;Wysokość nad poziomem ziemi
\c;\l;float\u cbot\float; object.lifeTime \n;Czas życia obiektu
\c;object object.energyCell \n;Ogniwo elektryczne robota
\c;object object.load \n;Przedmiot niesiony przez robota
\s;\c;category\n;
\n;\l;Kategoria\u cbot\category; obiektu określa czym jest obiekt, tzn. określa np. rodzaj robota, budynku lub wroga, itp.
\s;\c;position\n;
Położenie obiektu na planecie, w metrach. Współrzędne \c;x\n; i \c;y\n; odnoszą się do położenia na mapie, współrzędna \c;z\n; odpowiada wysokości nad (lub odpowiednio pod) poziomem morza.
\s;\c;orientation\n;
Orientacja obiektu, w stopniach. Określa kierunek, w którym obrócony jest obiekt. Wartość \c;0\n; odpowiada orientacji na wschód, zgodnie z dodatnią osią \c;x\n;. Orientacja liczona jest przeciwnie do ruchu wskazówek zegara.
\s;\c;pitch\n;
Pochylenie robota w przód/tył. Wartość \c;0\n; oznacza, że robot stoi na płaskim terenie. Wartość dodatnia oznacza, że robot "patrzy" w górę, wartość ujemna, że w dół.
\s;\c;roll\n;
Pochylenie robota w lewo/prawo. Wartość dodatnia oznacza, że robot jest przechylony na lewą stronę, wartość ujemna, że na prawą.
\s;\c;energyLevel\n;
Poziom energii, pomiędzy 0 i 1. Dla w pełni naładowanego \l;zwykłego ogniwa elektrycznego\u object\power; zwracana jest wartość \c;1\n;. \l;Atomowe ogniwo elektryczne\u object\atomic; nigdy nie zwraca wartości większej niż 1, jedynie działa dłużej. Uwaga: Poziom energii robota zawsze jest równy zero, gdyż energia nie jest zawarta w robocie ale w ogniwie elektrycznym. Aby poznać poziom energii ogniwa elektrycznego robota, należy napisać \c;energyCell.energyLevel\n;.
\s;\c;shieldLevel\n;
Poziom osłony robota albo budynku. Wartość \c;1\n; oznacza w pełni sprawną osłonę. Za każdym uderzeniem pocisku lub zderzeniem z innym obiektem, zmniejsza się poziom osłony. Gdy osiągnie on \c;0\n;, następny pocisk bądź zderzenie spowoduje zniszczenie robota albo budynku.
Roboty mogą zregenerować osłony w \l;warsztacie\u object\repair;. Powłoka budynku regenerowana jest gdy znajdzie się w zasięgu sfery ochronnej robota \l;osłaniacza\u object\botshld;.
\s;\c;temperature\n;
Temperatura silnika odrzutowego \l;robotów latających\u object\botgj;. \c;0\n; odpowiada zimnemu silnikowi. W miarę używania, wzrasta jego temperatura. Gdy osiągnie wartość \c;1\n;, silnik przegrzewa się i przestaje działać do czasu ostygnięcia.
\s;\c;altitude\n;
Współrzędna \c;z\n; oznacza wysokość nad poziomem morza, podczas gdy \c;altitude\n; oznacza wysokość nad poziomem ziemi. Wartość ta ma znaczenie jedynie dla \l;robotów latających\u object\botgj; i \l;os\u object\wasp;. Dla pozostałych obiektów jest zerowa.
\s;\c;lifeTime\n;
Wiek obiektów, w sekundach, od czasu ich powstania.
\s;\c;energyCell\n;
Jest to specjalna informacja, gdyż zwraca informacje o innym obiekcie, w tym przypadku ogniwie elektrycznym. Oznacza to, że energyCell zawiera wszystkie charakterystyki normalnego obiektu, na przykład \c;category\n; (PowerCell lub NuclearCell), \c;position\n; (pozycję ogniwa), itp.
Aby poznać poziom energii robota, zamiast \c;energyLevel\n;, należy sprawdzić \c;energyCell.energyLevel\n;.
Jeśli robot nie zawiera ogniwa elektrycznego, \c;energyCell\n; jest równe \c;null\n;.
\s;\c;load\n;
Ta informacja również zwraca opis całego obiektu, a mianowicie opis obiektu trzymanego przez \l;transporter\u object\botgr;. Jeśli nie niesie on niczego, \c;load\n; jest równe \c;null\n;.
\b;Przykłady
Typ \c;object\n; zwraca specjalną wartość \c;\l;null\u cbot\null;\n; gdy obiekt nie istnieje. Na przykład:
\c;
\s; object a;
\s; a = radar(BotGrabberRoller);
\s; if ( a == null ) // obiekt nie istnieje?
\s; {
\s; }
\s; if ( a.position.z > 50 ) // czy jest na górze?
\s; {
\s; }
\n;
\t;Zobacz również
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.