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

Zasoby - Patrol

COLOBOT - 13-02-2008, 05:39
Temat postu: Patrol
Program ten monitoruje planetę i jeśli zabraknie kostek tytanu lub ogniw zabiera się do ich produkcji. Jest przystosowany do swobodnej gry na ziemi. Można go dostosować do pracy na innej planecie zmieniając wszystkie współrzędne.

Kod:
extern void object::Patrol()
{

goto(30.5,-32);
object item;
errmode(0);
while(true)
{
if (radar(Titanium)==null)
{
while (goto(33,-33)!=0)
{
wait(0);
}
while (load == null)
{
item = radar(TitaniumOre);
while (goto(item.position)!=0)
{
wait(0);
item = radar(TitaniumOre);
}
grab();
}
item = radar(Converter);
while (goto(item.position)!=0)
{
wait(0);
}
drop();
elektr(1);
oslona(1);

}
if (radar(PowerCell)==null)
{
while (load == null)
{
item = radar(Titanium);
if (item==null)
{
continue;
}
while (goto(item.position)!=0)
{
wait(0);
item = radar(Titanium);
}
grab();
}
item = radar(PowerPlant);
while (goto(item.position)!=0)
{
wait(0);
}
while (load != null)
{
drop();
}
wait(3);
while(grab()!=0)
{
wait(0);
}
turn(90);
drop();
elektr(1);
oslona(1);

}
if (radar(NuclearCell)==null)
{
while (load == null)
{
item = radar(UraniumOre);
while (goto(item.position)!=0)
{
wait(0);
item = radar(UraniumOre);
}
grab();
}
item = radar(NuclearPlant);
while (goto(item.position)!=0)
{
wait(0);
}
drop();
move(-5);
wait(5);
while (goto(item.position)!=0)
{
wait(0);
}
while(grab()!=0)
{
wait(0);
}
turn(90);
drop();
elektr(1);
oslona(1);

}
elektr(0.75);
oslona(1);
if (position.x>-4 && position.x<-2 && position.y>53 && position.y<55)
{
wait(0);
}
else
{
while(goto(-3,54)!=0)
{
wait(0);
}
}
}
}
void object::elektr(float en)
{

if (energyCell.energyLevel<en)
{
object elektr;
elektr=radar(PowerStation);
while (goto(elektr.position)!=0)
{
wait(0);
}
while(energyCell.energyLevel<1)
{
wait(0);
}
}

}
void object::oslona(float en)
{

if (shieldLevel<en)
{
object warsz;
warsz=radar(RepairCenter);
while (goto(warsz.position)!=0)
{
wait(0);
}
while(shieldLevel<1)
{
wait(0);
}
}

}

Tomesy - 13-02-2008, 14:35
Temat postu: RE: Patrol
Przydatny program, ale mógłbyś go skrócić i uprościć.

Powered by phpBB modified by Przemo & WRIM © 2003 phpBB Group