|
Polski Portal COLOBOTa COLOBOT Polish Portal |
 |
Ciekawe programy - Pole minowe
Bartek c++ - 19-06-2010, 14:18 Temat postu: 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 - 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.
Berserker - 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);
}
} |
|
|