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
Przesunięty przez: Abadon
20-02-2010, 13:55
Radar3.0

Jak oceniasz przydatność tego programu?
1-wogle nie przydatny
20%
 20%  [ 3 ]
2-żadko sie przydaje
0%
 0%  [ 0 ]
3-czasami się przyda
40%
 40%  [ 6 ]
4-no przydatny
26%
 26%  [ 4 ]
5-jak ja mogłem bez niego żyć??
13%
 13%  [ 2 ]
Głosowań: 15
Wszystkich Głosów: 15

Autor Wiadomość
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: 07-07-2009, 19:57   Radar3.0

Jeśli przylecicie na jakąś nieznaną planete, to przed zużyciem cennej kostki tytanu na budowe radar,u możecie użyć tego programu do sprawdzenia czy na planecie są jakieś wrogie formy życia.

Kod:
int Compte(int cat) //cat - kategoria
{
int i, total;
object p;

total = 0;
for ( i=0 ; i<10000 ; i++ )
{
p = retobject(i);
if ( p == null ) break;
if ( p.category == cat ) total ++;
}
return total;
}
extern void object::Radar3()
{

message("Na planecie jest:");
if(radar(AlienQueen) != null)
{
int liczbakroli=Compte(AlienQueen);
message(Compte(AlienQueen)+"Krolowych obcych");
}

if(radar(AlienEgg) != null)
{
int liczbajaj=Compte(AlienEgg);
message(Compte(AlienEgg)+" jaj obcych");
}

if(radar(AlienAnt) != null)
{
int lczbamrowek=Compte(AlienAnt);
message(Compte(AlienAnt)+" mrowek");
}

if(radar(AlienSpider) != null)
{
int lczbapajakow=Compte(AlienSpider);
message(Compte(AlienSpider)+" pajakow");
}

if(radar(AlienWasp) != null)
{
int lczbaos=Compte(AlienWasp);
message(Compte(AlienWasp)+" os");
}

if(radar(AlienWorm) != null)
{
int lczbarobali=Compte(AlienWorm);
message(Compte(AlienWorm)+" robakow");
}

}


//Jest to ostateczna wersja tego programu (Błąd z osami poprawiony) nieda się go już chyba ulepszyć.

Radar.txt
Radar4,3
Pobierz Plik ściągnięto 59 raz(y) 1,01 KB

_________________
Moja stronka www.jedrus113.cba.pl
Ostatnio zmieniony przez jedrus113 08-07-2009, 10:21, w całości zmieniany 3 razy  
 
 
     
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: 07-07-2009, 20:07   

Jesli chcesz sprawdzić ile jest owadów to Poczytaj o funkcji retobject.
_________________
1Tbps Project && Telecomix Network

 
 
     
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: 07-07-2009, 20:50   

Wielkie Dzięki adiblol bez ciebie bym se niedał rady (ale mogłeś napisać co to jest retobject).
_________________
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: 07-07-2009, 22:28   

Piszę z komórki więc mi się nie chciało. Błąd jest przy osach.
_________________
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: 08-07-2009, 11:50   

ProgramPrzyda się w misjach ściągniętych z neta :)
 
     
pipok
Gość


Wysłany: 08-07-2009, 13:52   Re: Radar3.0

jedrus113 napisał/a:
//Jest to ostateczna wersja tego programu (Błąd z osami poprawiony) nieda się go już chyba ulepszyć.
Chyba jednak się da ulepszyć. :)
W głownym programie kawałki kodu typu
Kod:
if(radar(AlienQueen) != null)
{
int liczbakroli=Compte(AlienQueen);
message(Compte(AlienQueen)+"Krolowych obcych");
}
zawierają niepotrzebnie dwukrotne wywołanie funkcji radar() z tym samym parametrem (Alien Qeeen). Podobnie masz dwa razy wywołanie funkcji Compte(). Wystarczy ją z danym argumentem wywołać tylko raz, przecież wynik i tak zapamiętałeś w zmiennej liczbakroli. Dodatkowo: nie potrzeba osobny zmiennych na przechowywanie liczby królowych, mrówek itd... Zapamiętane liczby wykorzystuje się tylko raz - do wypisania komunikatu.
Główna część programu może spokojnie być napisana prościej i efektywniej:
Kod:
extern void object::Radar3()
{
  int ileObcych;

  message("Na planecie jest:");

  ileObcych=Compte(AlienQueen);
  if (ileObcych!=0)   { message(Compte(ileObcych)+" Krolowych obcych");  }

  ileObcych=Compte(AlienEgg);
  if (ileObcych!=0)   { message(Compte(ileObcych)+" jaj obcych");  }

[...]
Przy okazji: zainteresuj się tablicami ;)
Używając tablic można ten program zapisać jeszcze bardziej elegancko...
 
     
pipok
Gość


Wysłany: 08-07-2009, 13:55   Re: Radar3.0

Ech! nieupilnowane copy&paste...
Przepraszam :oops:
Kod:
extern void object::Radar3()
{
  int ileObcych;

  message("Na planecie jest:");

  ileObcych=Compte(AlienQueen);
  if (ileObcych!=0)   { message(ileObcych)+" Krolowych obcych");  }

  ileObcych=Compte(AlienEgg);
  if (ileObcych!=0)   { message(ileObcych)+" jaj obcych");  }

[...]
 
     
jedrus113
Gość


  Wysłany: 08-07-2009, 14:48   Radar4.0

Nienawidze was !!
Ale bede miał nauczke na przyszłość "NIGDY NIE PISZ ŻE LEPIEJ BYĆ NIE MOŻE BO ZAWSZE ZNAJDZIE SIE KTOŚ KTO ZNAJDZIE SPOSÓB AŻEBY TO ULEPSZYĆ!!"
Echch..
Radar4.0
Kod:
int Compte(int cat) //cat - kategoria
{
int i, total;
object p;

total = 0;
for ( i=0 ; i<10000 ; i++ )
{
p = retobject(i);
if ( p == null ) break;
if ( p.category == cat ) total ++;
}
return total;
}
extern void object::Radar4()
{

int ileObcych;

message("Na planecie jest:");
ileObcych=Compte(AlienQueen);
if (ileObcych!=0) message((ileObcych)+" Krolowych obcych");

ileObcych=Compte(AlienEgg);
if (ileObcych!=0) message((ileObcych)+" jaj obcych");

ileObcych=Compte(AlienAnt);
if (ileObcych!=0) message((ileObcych)+" mrowek");

ileObcych=Compte(AlienSpider);
if (ileObcych!=0) message((ileObcych)+" pajakow");

ileObcych=Compte(AlienWasp);
if (ileObcych!=0) message((ileObcych)+" os");

ileObcych=Compte(AlienWorm);
if (ileObcych!=0) message((ileObcych)+" robakow");

}
 
     
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: 08-07-2009, 14:50   login

Sie nawet przezwas zalogować nie zdążyłem..
Można by prosić jakiegoś kogoś ze uprawnieniami o kasacje tego posta wyżej? Napiszę drugi ładniejszy..
_________________
Moja stronka www.jedrus113.cba.pl
 
 
     
shoter
Gość


Wysłany: 08-07-2009, 15:02   

do tego mozna funkcje wykorzystac
ileObcych=Compte(AlienQueen);
if (ileObcych!=0) message((ileObcych)+" Krolowych obcych");

void(int cat,string zdanie)
{
int ile = Compte(AlienQueen);
if(ile !=0) message((ile) + zdanie);

}
 
     
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: 08-07-2009, 16:07   

Uważaj jedrus z tym 'nienawidzę was'. To jest ostatnie ostrzeżenie. Później dostaniesz WARNA!!!
_________________
1Tbps Project && Telecomix Network

 
 
     
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: 08-07-2009, 16:19   ??

adiblol napisał/a:
Uważaj jedrus z tym 'nienawidzę was'. To jest ostatnie ostrzeżenie. Później dostaniesz WARNA!!!

Ale co zrobiłem?
Poprostu was nienawidze więc napisałem że was nienawidze. Czyli tak jakbyś na przykład ty powiedział że kogoś lubisz. Nie widze powodu do dawania warnów czy czegokolwiek.
_________________
Moja stronka www.jedrus113.cba.pl
 
 
     
shoter
Gość


Wysłany: 08-07-2009, 16:32   

adiblol napisał/a:
Uważaj jedrus z tym 'nienawidzę was'. To jest ostatnie ostrzeżenie. Później dostaniesz WARNA!!!

adibol bez przesady,nie terroryzuj tak uzytkownikow warnami :/
 
     
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: 08-07-2009, 16:37   

Nie terroryzuję tylko Jedrus jest dziecinny i trzeba go ukarać :roll:

[ Dodano: 08-07-2009, 16:39 ]
Jedrus, nienawidzisz nas za to że jesteśmy lepsi od ciebie czy jak? :roll:
_________________
1Tbps Project && Telecomix Network

 
 
     
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: 08-07-2009, 18:31   

Plus, to, co pisał Pipok, było sugestią, a nie rozkazem. @Jedrus: Mogłeś ulepszyć program, nie musiałeś... Nikt Cię tu do tego nie zmuszał.
@Adiblol: Wg. mnie jeszcze jeden post, pokazujący jego dziecinność i warn. Póki co jeden.
// Schocker, masz zapewnione uprawnienia moderatora! Tylko będę musiał skonsultować z Abadonem -adiblol
// o.O Miło... ^^ Bardzo. Tyle mi się udało sklecić. Dzięki! ^^ -Schocker
_________________
But there's no sense crying over every mistake, you just keep on trying 'till you ran out of cake -GlaDOS
Ostatnio zmieniony przez adiblol 08-07-2009, 19:51, w całości zmieniany 2 razy  
 
 
     
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