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
Pole minowe
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: 19-06-2010, 14:18   Pole minowe

Program służy do robienia pola minowego.
Kod:
extern void object::Pole Minowe()
{
 

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(90);
move(2);
turn(90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(-90);
move(2);
turn(-90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(90);
move(2);
turn(90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(-90);
move(2);
turn(-90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(90);
move(2);
turn(90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(-90);
move(2);
turn(-90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(90);
move(2);
turn(90);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);

produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
produce(position,0,Mine,"");
move(2);
turn(-90);
move(2);
turn(-90);
}

Efekt:
_________________

 
     
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: 19-06-2010, 16:40   

Można szybciej.
Kod:

for (float y=0;y<6;y++) {
 for (float x=0;x<6;x++) {
  position p;
  p.x = this.position.x+x*2;
  p.y = this.position.y+y*2;
  produce(p, 0, Mine, "");
 }
}


A nawet tym Twoim sposobem mógłbyś użyć pętli.
_________________
1Tbps Project && Telecomix Network

 
 
     
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: 19-06-2010, 21:32   

@up twoj sposob ogranicza pole minowe do bokow rownoleglych do osi wspolrzednych :)
Kod:

int x, y;
point dest;
dest = position;
float angle = orientation;
dest.x += 2*cos(angle);
dest.y += 2*sin(angle);
for(y = 0; y <= 5; y++)
{
   for(x = 0; x <= 5; x++)
   {
   produce(dest, rand()*360, Mine, "");
   if(x < 5)
   {
      dest.x += 2*cos(angle);
      dest.y += 2*sin(angle);
   }
   }
   for(int i = 0; i < 2; ,i++)
   {
      angle += (y%2*2-1)*90;
      dest.x += 2*cos(angle);
      dest.y += 2*sin(angle);
   }
}
 
 
     
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