|
Polski Portal COLOBOTa COLOBOT Polish Portal |
|
Programy - Kopalnia
colobotwymiiata - 14-03-2009, 20:03 Temat postu: Kopalnia Oto owoc mojej nudy i braku natchnienia programistycznego . Krótki(dla kogo?) programik, który zamienia dowolnego robota w kopalnię, wydobywającą w zależności od pobliskiego znacznika rudę uranu lub tytanu. Program wymaga znacznika rudy(nie energii!) w promieniu 3 metrów od robota(żeby nie było oszustwa, bo program korzysta z "produce").
Kod: | extern void object::Kopalnia()
{
if(radar(TitaniumSpot,0,360,0,3)==null and radar(UraniumSpot,0,360,0,3)==null)
{
message("Nie ma znacznika rudy !",DisplayError);
return;
}
if(radar(TitaniumSpot,0,360,0,3)!=null)kop(TitaniumOre,TitaniumSpot);
else kop(UraniumOre,UraniumSpot);
}
void object::kop(int cat,int catspot)
{
point pos;
pos.x = position.x + cos(orientation) * 2;
pos.y = position.y + sin(orientation) * 2;
while(radar(catspot,0,360,0,3)!=null)
{
if(radar(cat,0,50,0,3)==null)
{
wait(10);
produce(pos,0,cat,"");
}
}
} |
Abadon - 14-03-2009, 20:38
No muszę przyznać że nieźle transformujesz roboty w fabryki rudy tytanu i uranu, a wcześniej w fabrykę ogniw. Brawo.
colobotwymiiata - 14-03-2009, 20:39
Dzięki .
adiblol - 15-03-2009, 10:25
Daj pętlę to będzie prawdziwa kopalnia!
colobotwymiiata - 15-03-2009, 10:56
pętlę? przecież już jest: "while(radar(catspot,0,360,0,3)!=null)". "kopie" dopóki wykrywa znaczek.
adiblol - 15-03-2009, 11:03
A racja nie zauważyłem.
DOJO - 15-03-2009, 21:03
Świetne! Good work comrade!
|
|