Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
|
Forum - Polski Portal COLOBOTa |
|
|
Przesunięty przez: Schocker 20-02-2010, 21:32 |
Nieprzydatny program - Rejestrator wysokości |
Autor |
Wiadomość |
bbiidduull
Dołączył: 09 Lut 2009 Posty: 140
|
Wysłany: 13-02-2009, 11:27 Nieprzydatny program - Rejestrator wysokości
|
|
|
Witam. Zrobiłem sobie ten program z nudów i moze komuś się przyda lecz w to wątpię. Rejestruje on największą , najmniejszą i średnia wysokość,. Potrzeba aby go uruchomić robota "matke" albo jak kto woli maciore , robota któremu sprawdzamy wysokość tzn rejestrujemy i stacje przekaźnikową. Zarejestrowaną najwyższą wysokość, i najniższą oraz średnią możecie zobaczyć gdzie ? Oczywiście w stacji przekaźnikowej. Pozdrawiam all
Kod: | extern void object::Rejestrator_Wys()
{
// Rw - Rejestrator wysokosci rejestruje najwyzsza, najnizsza i srednia wysokosc robota
object robot,stacja; // potrzeba do programu
float wys,daneW,daneN; // stacje przekaznikowa
// robota matke i robota ktoremu sprawdzamy wysokosc
point sta;
stacja = radar(ExchangePost);
while(stacja == null)
{
message("Wybuduj Stację przekaźnikową informacji !!!",DisplayError);
return;
}
send("Najwyżej",-999,100000);
send("Najniżej",999,100000);
robot = radar(WingedSniffer); //tu wpisujemy nazwe robota któremu sprawdzamy wysokosc
while(robot == null)
{
message("Nie ma takiego robota !!!",DisplayError);
return;
}
while (true)
{
while(robot != null)
{
wys = robot.position.z;
daneW = receive("Najwyżej",100000);
daneN = receive("Najniżej",100000);
message("Wysyłam Dane... Wysokość to: "+wys+" metrów",DisplayInfo);
if (wys > daneW)
{
send("Najwyżej",wys,100000);
}
else
{
if (wys < daneN)
{
send("Najniżej",wys,100000);
}
}
send("Wys.średnia",(daneW+daneN)/2,100000);
}
message("Straciłem robota z radaru",DisplayError);
return;
}
} |
Program także w załączniku
Rw.txt
|
Pobierz Plik ściągnięto 54 raz(y) 1,43 KB |
|
|
|
|
|
Abadon
Administrator forum Administrator
Pomógł: 3 razy Dołączył: 11 Sie 2008 Posty: 586
|
Wysłany: 13-02-2009, 14:44
|
|
|
Hmm nieprzydatny program?...
a właściwie że przydatny (tak to byś z nudów nic nie tworzył czegoś co jest nieprzydatne). Program przyda się zapewnie przy tworzeniu Colobota 2, kiedy np. będzie potrzebna informacja na temat wysokości na której można stwierdzić wysokość "wzgórz" na mapach. |
_________________
|
|
|
|
|
bbiidduull
Dołączył: 09 Lut 2009 Posty: 140
|
Wysłany: 13-02-2009, 15:00
|
|
|
No to mi kamień spadł z serca. Mam jeszcze program ze robot staje obok tytanu i jedzie do stacji przekaźnikowej i pokazuje czas w jakim przebył droge i zapisuje najlepszy wynik. Taki o śmiechowy |
|
|
|
|
Abadon
Administrator forum Administrator
Pomógł: 3 razy Dołączył: 11 Sie 2008 Posty: 586
|
Wysłany: 13-02-2009, 15:03
|
|
|
Hmm to też jest przydatne, w Coloboce 2 można zrobić wyścigi zatem . |
_________________
|
|
|
|
|
DeiDara
Derosa out.
Twoja ulubiona misja: Wszystkie z Wulkani
Pomógł: 2 razy Wiek: 21 Dołączył: 23 Lip 2008 Posty: 205 Skąd: Włocławek
|
Wysłany: 13-02-2009, 22:08
|
|
|
no fajnie to by wyglądało |
_________________ An open mind is like a fortress with its gates unbarred and unguarded.
|
|
|
|
|
colobotwymiiata
Zjem cię
Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy Wiek: 20 Dołączył: 02 Lut 2009 Posty: 329 Skąd: Oleśnica
|
Wysłany: 20-02-2009, 23:31
|
|
|
A skoro mierzymy już czas i wysokość, daj program , co mierzy prędkość, żeby było do kompletu(to nie sarkazm-program się przyda). |
|
|
|
|
bbiidduull
Dołączył: 09 Lut 2009 Posty: 140
|
Wysłany: 20-03-2010, 15:00
|
|
|
Pomyślimy i jak coś to dam na forum
[ Dodano: 17-03-2010, 23:52 ]
Jako że było się młodym i głupim postanowiłem naprawić swoje błędy popełnione za młodu. Tak więc powstała druga wersja tego programu a dokładnie Rec_WysV2 Miłej zabawy.
Kod: | extern void object::Rec_WysV2()
{
file handle();
object robot,alien;
float nW,nM,nWg,nMg,sPal,ePal,sOsl,eOsl;
int sTime,eTime,time,timeend,starttime,bb,cc;
point a,nWp,nMp;
int ant[5];
ant[0] = AlienWorm;
ant[1] = AlienAnt;
ant[2] = AlienSpider;
ant[3] = AlienWasp;
ant[4] = AlienQueen;
nWg=-999;nW=-999;nM=999;time=0;nMg=999;
handle.open("Rejestrator wysokości - dane.txt", "w");
timeend=4; // <------------- po ilu sekundach ma sie wyłaczyc program gdy robot się nie porusza
// <------------- mozna wpisać tylko liczby parzyste !
robot=radar(WingedGrabber);
sPal=robot.energyCell.energyLevel;
sOsl=robot.shieldLevel;
starttime=lifeTime;
while(true)
{
robot=radar(WingedGrabber); // <-------------robot któremu sprawdzamy wysokość
alien=radar(ant);
if(robot==null)
{
message("Ups... nie odnalazłem robota...");
return;
}
if(timeend%2!=0)
{
message("Zmienna timeend przyjmuje tylko liczby parzyste!");
return;
}
if(robot.energyCell.energyLevel<0.2)
{
message("Zaleca się zakonczenia pomiaru ze wzgledu na");
message("niski poziom energii (<20%)");
}
if(robot.shieldLevel<0.2)
{
message("Zaleca się zakonczenia pomiaru ze wzgledu na ");
message("niski poziom osłony (<20%)");
}
if(distance(robot.position,alien.position)<60)
{
message("Zaleca się zakonczenia pomiaru ze wzgledu na");
message("zbliżajace się obce organizmy w promieniu <60 metrów.");
}
if(robot.position.z-topo(robot.position)>nW)
{
nW=robot.position.z;
nWp=robot.position;
nWg=robot.position.z-topo(robot.position);
}
if(robot.position.z-topo(robot.position)<nM)
{
nM=robot.position.z;
nMp=robot.position;
nMg=robot.position.z-topo(robot.position);
}
message("Aktualna wysokość: "+robot.position.z);
sTime=lifeTime;
wait(2);
eTime=lifeTime;
a=robot.position;
wait(0.01);
if(a.x == robot.position.x and a.y==robot.position.y)
{
if(sTime+2==eTime) time=time+1;
if(time==timeend/2)
{
message("Zakończono działanie programu.");
message("Zajrzyj do folderu FILES gry COLOBOT aby zobaczyć wyniki");
break;
}
}
}
ePal=robot.energyCell.energyLevel;
eOsl=robot.shieldLevel;
bb=(lifeTime-starttime)/60;
cc=(lifeTime-starttime)%60;
handle.writeln("Największa zarejestrowana wysokość:");
handle.writeln("->nad poziomem morza: "+nW+" m Pozycja: X="+nWp.x+" Y="+nWp.y);
handle.writeln("->nad poziomem gruntu: "+nWg+" m");
handle.writeln("");
handle.writeln("Najmniejsza zarejestrowana wysokość:");
handle.writeln("->nad poziomem morza: "+nM+" m Pozycja: X="+nMp.x+" Y="+nMp.y);
handle.writeln("->nad poziomem gruntu: "+nMg+" m");
handle.writeln("");
handle.writeln("Czas testu: "+bb+":"+cc+" minut:sekund");
handle.writeln("Zużyta energia podczas testu: "+(sPal-ePal)*100+"%");
handle.writeln("Uszkodzenie osłony : "+(sOsl-eOsl)*100+"%");
handle.close();
} |
|
|
|
|
|
|
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
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|