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
Titanium Collector

Wasza ocena
Świetny
60%
 60%  [ 3 ]
Przeciętny
40%
 40%  [ 2 ]
Słaby
0%
 0%  [ 0 ]
Głosowań: 5
Wszystkich Głosów: 5

Autor Wiadomość
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 12-12-2011, 07:56   

Wystarczy po deklaracji zmiennych dorzucić to:
Kod:
    item = radar(RedFlag);
    if ( item != null )
    {
        message("Tytan składowany przy czerwonej fladze",DisplayInfo);
        flag = item.position;
    }

I już mamy tytan przy fladze. :-D

To było genialne posunięcie z mojej strony:
Cytat:
Kod:
    else
    {

        if(category == Subber)
        {
            message("Niski stan baterii",DisplayError);
            return;
        }
       
        if ( energyCell.energyLevel < 0.05 )...

No cóż, najlepszym się zdarza.
 
 
     
Simbax 
Mod


Twoja ulubiona misja: Wszystkie na Krystalii
Pomógł: 6 razy
Wiek: 22
Dołączył: 07 Sie 2009
Posty: 473
Skąd: z Leszna
Wysłany: 12-12-2011, 18:40   

@Berserker Ja tylko przytoczyłem cytat, niekoniecznie działam zgodnie z jego myślą ;D Właściwie komentarzy używam tylko po to, aby objaśnić po co jest dana zmienna (np. // pomocnicza) i właśnie do oddzielenia od siebie fragmentów kodu. Wtedy program, przynajmniej według mnie, jest faktycznie czytelniejszy.
_________________
http://projektsimbax.blogspot.com/ <- Taki sobie blog
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 26-12-2011, 12:53   

Mam nową koncepcję!
Gdyby tak po uformowaniu jednej grupki tytanu nie czekać tylko pracować dalej.
Wyglądało by to tak:

Idź do flagi;
Zwróć się w stronę przeciwną do huty;
Jeżeli przed tobą jest mniej niż j kostek umieść tytan w grupie przed tobą;
Else: obróć się w lewo i uformuj nową grupkę;

W ten sposób można stwożyć coś na kształt fraktala w którym ilość kostek byłaby równa j do kwadratu.

Dla przypomnienia:
Kod:
        if(category == WingedGrabber) j=9;
        else                          j=7;


Co o tym myślicie?
 
 
     
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: 26-12-2011, 14:27   

Po co komu tyle tytanu? Tylko limit obiektow bys zapelnial :>
_________________
 
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 26-12-2011, 16:18   

To tylko 49 kostek.
A jaki efekt!
Jaki jest limit?
 
 
     
Raptor 
Clever Girl


Twoja ulubiona misja: Raptorowanie
Pomógł: 4 razy
Wiek: 24
Dołączył: 26 Cze 2010
Posty: 432
Skąd: Isla Nublar
Wysłany: 26-12-2011, 17:52   

MROCZA napisał/a:
Jaki jest limit?

Z limitem jest właśnie taki problem, że nie wiadomo, jaki on jest. Kiedyś wyliczono coś około 600, jednak potem się okazało, że prawdopodobnie zależy to od rodzaju obiektów lub grup obiektów. Grzebanie w jądrze gry powinno przynieść więcej informacji.
_________________
- Stężenie czekolady we krwi: 93‰
- Ja to bym zjadł jeszcze batona...


 
     
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: 26-12-2011, 18:18   

Kolo 400 obiektow przenosnych lub 50 innych.
_________________
 
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 26-12-2011, 20:08   

Roboty i budynki po prostu składają się z większej liczby segmentów a obiekty przenośne mają pojedyńczy model. To właśnie ilośc tych elementów jest ograniczona.
Jeżeli ograniczenie to około 400 mógłbym odpalic taki program do zbierania tytanu, jego rudy, baterii zwykłych i atomowych to zostałaby mi jeszcze połowa limitu na budynki i roboty.
 
 
     
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: 26-12-2011, 21:05   

+ rudy tytanu/uranu rozrzucone po mapie, wszystkie drzewka, grzybki i kamyczki, no i obcy.
_________________
 
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 26-12-2011, 21:10   

Sporo tego.
Ale na 50 kostek zawsze się znajdzie miejsce. :-D
 
 
     
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: 26-12-2011, 21:48   

Po co komu 50 kostek? Ja zawsze ustawiam limit na 5, tylko sie po bazie walaja.
_________________
 
 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 26-12-2011, 21:55   

No to zostaniemy przy siedmiu, ewentualnie dziewięciu dla transportera latającego. :-(

[ Dodano: 12-01-2012, 10:44 ]
Mam teraz zajęcia z informatyki (prezentacje w power poincie) i wpadłem na ciekawy pomysł skrócenia programu. Nie mogę teraz sprawdzić czy to w ogóle działa ale to będzie coś takiego:
Kod:
extern void object::Titanium()
{
  goto(radar(Titanium).position);
  grab();
  goto(radar(Converter).position);
  drop();
  move(-2.5);
  wait(14);
  move(2.5);
  grab();
  goto(space(position));
  drop();
}
 
 
     
Raptor 
Clever Girl


Twoja ulubiona misja: Raptorowanie
Pomógł: 4 razy
Wiek: 24
Dołączył: 26 Cze 2010
Posty: 432
Skąd: Isla Nublar
Wysłany: 12-01-2012, 20:03   

Nie działa taka optymalizacja. goto musi się odwołać do konkretnej informacji o pozycji, a nie do funkcji radar. Nawet takie cudo: goto(object item = radar(Titanium).position); nie ma prawa działać. Definicja zmiennej nie jest można w funkcji.

[ Dodano: 12-01-2012, 20:06 ]
Aha! Tutaj już nalicza pościdła! Mrocza, nie ma co marudzić :-P .
_________________
- Stężenie czekolady we krwi: 93‰
- Ja to bym zjadł jeszcze batona...


 
     
Mrocza 


Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy
Wiek: 26
Dołączył: 29 Sie 2011
Posty: 249
Skąd: Lublin
Wysłany: 12-01-2012, 21:27   

Po prostu pod item podstawiam radar(Titanium)

Ale coś takiego:
Kod:
int i;
i = 5;
move(i);

Moge zastąpić tym:
Kod:
move(5);

Dlaczego więc tego:
Kod:
object item;
item = radar(Titanium);
goto(item.position);

Nie mogę zastąpić tym:
Kod:
goto(radar(Titanium).position);


[ Dodano: 12-01-2012, 21:42 ]
Yey! mam 146 postów!
 
 
     
Raptor 
Clever Girl


Twoja ulubiona misja: Raptorowanie
Pomógł: 4 razy
Wiek: 24
Dołączył: 26 Cze 2010
Posty: 432
Skąd: Isla Nublar
Wysłany: 12-01-2012, 21:46   

Bo, jak już pisałem, goto nie może się odwołać do żadnej z tych funkcji, oprócz funkcji, zdaje się, space. Interpretuje tylko suche liczby oraz zmienne. Język CBOT nie jest w pełni uniwersalny. Można powiedzieć, że to emulacja języka programowania.
_________________
- Stężenie czekolady we krwi: 93‰
- Ja to bym zjadł jeszcze batona...


 
     
Wyświetl posty z ostatnich:   
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum

Wersja do druku

Skocz do:  

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