Titanium Collector |
Wasza ocena |
Świetny |
|
60% |
[ 3 ] |
Przeciętny |
|
40% |
[ 2 ] |
Słaby |
|
0% |
[ 0 ] |
|
Głosowań: 5 |
Wszystkich Głosów: 5 |
|
|
|
Autor |
Wiadomość |
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 02-12-2011, 22:15
|
|
|
Nowa ziemia? Czyli używałeś robota nurka?
Nie testowałem na nim tego programu!
Działało bez błędów? |
|
|
|
|
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: 03-12-2011, 00:13
|
|
|
Wlasnie: wypieprz fragment recharge() dla robota nurka, on sobie baterii nie zmieni. |
_________________
|
|
|
|
|
Bartek c++
Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy Wiek: 20 Dołączył: 07 Lip 2009 Posty: 390
|
Wysłany: 07-12-2011, 06:28
|
|
|
Program idealny! Po włączeniu go na robocie nie wyskakiwalo zadne error tylko normalnie działał(nie to co przy programach mojej produkcji ). |
_________________
|
|
|
|
|
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 07-12-2011, 13:24
|
|
|
Nareszcie ktoś docenił. Tylko mógłbyś jeszcze napisać co poprawić. |
|
|
|
|
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: 07-12-2011, 20:30
|
|
|
@up Jak czekales na jakies pochwaly to mogles napisac, ja tam jestem przestawiony na sadzenie kopow w tylek za kazdy blad i oczekuje tego tez od innych, ale wazelina tez jest dostepna
Co do programu. Dziwnie reaguje jak sie zablokuje stacje energetyczna, swoja droga rozladowal mi sie wtedy ten bot Pierscien z tytanu jest fajnym pomyslem, jednak przydaloby sie konkretne i stale miejsce wyznaczane jakas metoda przez bota badz przez gracza np. flaga - jak sie restartuje program to tworzy nowy pierscien co po czasie moze wkurzyc. |
_________________
|
|
|
|
|
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 07-12-2011, 22:48
|
|
|
Czyli po pierwsze ma być tylko jeden pierścień, przypisanie go do flagi byłoby za proste. Wolałbym tego uniknąć, Im mniej ingerencji gracza tym lepiej. Czy jednak dodać flagę?
Ten fragment jest zły? O co chodzi z tą zablokowaną stacją? Goto zwraca wtedy w wyniku 212 więc powinno być ok.
Kod: | item = radar(PowerStation);
if(item != null)
{
while(true)
{
if (goto(item.position) == 000 ) break;
if (goto(item.position) == 212 ) continue;
message("Stacja energetyczna niedostępna",DisplayError);
return;
}
while( energyCell.energyLevel < 1 ) wait(0.1);
}
|
Jeżeli goto jest równe 212 to robot raczej nie rusza się z miejsca więc nie powinien zużywać energii. |
|
|
|
|
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: 08-12-2011, 17:41
|
|
|
@up
Mozesz wyznaczyc np. miejsce obok huty i tam skladowac. Flagi sa po prostu wygodne, bo mozna poustawiac zasoby w miejscach w ktorych najczesciej sie je wykorzystuje -> tytan obok fabryki botow etc.
A z rechargem to mam wrazenie, ze robot po stwierdzeniu niedostepnosci stacji energetycznej kontynuuje swoja prace przez co traci energie. Nie przygladalem sie kodowi i w sumie robota tez nie widzialem bo gdziestam lazil, ale zanim dojechal jak zwolnilem to padl. |
_________________
|
|
|
|
|
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 08-12-2011, 22:23
|
|
|
Czyli jeżeli jest flaga to przy niej, jeżeli flagi nie ma to na wolnym miejscu w pobliżu huty.
Nie wiem o co chodzi z tym rechargem ale wiem że jest słaby. |
|
|
|
|
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: 09-12-2011, 16:53
|
|
|
Z tym rechargem to cos pokombinuje, ale narazie to 15min poprawialem twoj kod, zeby byl czytelny. Po cholere tyle spacji i po cholere komentujesz kazda funkcje? "Obroc w lewo" 20x wyglada, jakby program byl pisany dla idioty. |
_________________
|
|
|
|
|
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 11-12-2011, 18:33
|
|
|
Ze spacjami jest według mnie czytelniejszy. A cały komentarz jest w ogóle zbędny. Może kiedyś będzie to przeglądał jakiś idiota. |
|
|
|
|
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: 11-12-2011, 18:48
|
|
|
Ze spacjami czytelniejszy? W 3/4 linijek dales tyle spacji, ze funkcja przechodzi na druga linie, nie wiem co jest w tym czytelnego |
_________________
|
|
|
|
|
Raptor
Clever Girl
Twoja ulubiona misja: Raptorowanie
Pomógł: 4 razy Wiek: 24 Dołączył: 26 Cze 2010 Posty: 432 Skąd: Isla Nublar
|
Wysłany: 11-12-2011, 19:00
|
|
|
Jak dla mnie, nie powinno się pisać w ogóle komentarzy. Szkoda czasu/bajtów. W końcu program to program, a nie "Nie-boska komedia"...
...a co ja wiem o programowaniu?... |
_________________ - Stężenie czekolady we krwi: 93‰
- Ja to bym zjadł jeszcze batona...
|
|
|
|
|
Simbax
Mod
Twoja ulubiona misja: Wszystkie na Krystalii
Pomógł: 6 razy Wiek: 22 Dołączył: 07 Sie 2009 Posty: 473 Skąd: z Leszna
|
Wysłany: 11-12-2011, 19:55
|
|
|
"Komentarze piszemy w celu wyjaśnienia pewnych fragmentów kodu programu, oddzielenia jednej jego części od drugiej, oznaczania funkcji i modułów itp. Odpowiednia ilość komentarzy ułatwia zrozumienie kodu, więc stosuj je często " ~Karol Kuczmarski -Kurs C++ |
_________________ http://projektsimbax.blogspot.com/ <- Taki sobie blog |
|
|
|
|
Mrocza
Twoja ulubiona misja: Swobodna na Ziemi
Pomógł: 4 razy Wiek: 26 Dołączył: 29 Sie 2011 Posty: 249 Skąd: Lublin
|
Wysłany: 11-12-2011, 21:16
|
|
|
To w końcu jak z tymi komentarzami? Niepotrzebne są te spacje przed komentarzem! Cały komentarz jest zbędny!
Kod: | // TitaniumCollector 11.12.11
// Created by MROCZA
extern void object::TitaniumCollector()
{
object item;
object convert;
point flag (0,0);
int i = 0;
errmode(0);
convert = radar(Converter);
if ( convert == null )
{
message("Brak huty",DisplayError);
return;
}
recharge();
while (true)
{
if(load == null or load.category != TitaniumOre)
{
if(load != null)
{
goto(space(position));
drop();
}
while(true)
{
item = radar(TitaniumOre);
if ( item != null ) break;
if ( i % 100 == 0 ) message("Nie znaleziono więcej tytanu");
i++ ;
wait(0.1);
}
if(goto(item.position) == 211)
{
message("Ruda niedostępna",DisplayError);
return;
}
if( grab() != 0 ) continue;
}
while(true)
{
if (goto(convert.position) == 000 ) break;
if (goto(convert.position) == 212 ) continue;
message("Huta niedostępna",DisplayError);
return;
}
errmode(1);
item = radar(Titanium,0,59,0,3);
if ( item == null )
{
drop();
move(-2);
wait(10);
}
else
{
turn(60);
drop();
turn(-60);
grab();
turn(-60);
drop();
turn(120);
grab();
turn(-60);
drop();
turn(-60);
grab();
errmode(0);
if ( flag.x == 0 )
{
goto(space(position,6,50,6));
flag = position;
}
else
{
while(goto(flag) == 212) wait(1);
}
stock();
}
recharge();
}
}
///////////////////////////////////////////////////////////////////////////
void object::recharge()
{
object item;
errmode(0);
if (energyCell.category == PowerCell)
{
if ( energyCell.energyLevel < 0.3 )
{
item = radar(PowerStation);
if(item != null)
{
while(true)
{
if (goto(item.position) == 000 ) break;
if (goto(item.position) == 212 ) continue;
message("Stacja energetyczna niedostępna",DisplayError);
return;
}
while( energyCell.energyLevel < 1 ) wait(0.1);
}
}
}
else
{
if(category == Subber)
{
message("Niski stan baterii",DisplayError);
return;
}
if ( energyCell.energyLevel < 0.05 )
{
float min = 0;
int i = 0;
while (true)
{
item = radar(NuclearCell,0,360,min,1000);
while(true)
{
if ( item != null ) break;
if ( i % 100 == 0 ) message("Nie znaleziono więcej ogniw atomowych");
item = radar(NuclearCell);
i++ ;
wait(0.1);
}
if (item.energyLevel >= 0.5) break;
min = distance (item.position, position) + 0.02;
}
while(true)
{
if (goto(item.position) == 000 ) break;
if (goto(item.position) == 212 ) continue;
message("Ogniwo atomowe niedostępne",DisplayError);
return;
}
errmode(1);
grab (InFront);
goto (space(position));
drop (Behind);
grab (EnergyCell);
drop (InFront);
grab (Behind);
drop (EnergyCell);
}
}
}
//////////////////////////////////////////////////////////////////////
void object::stock()
{
object item;
float angle;
int i, j;
errmode(1);
item = radar(Converter);
if(direction(item.position) > 0)
{
turn(direction(item.position)-180);
}
else
{
turn(direction(item.position)+180);
}
jet(1);
wait(0.5);
move(4);
jet(-1);
wait(0.6);
errmode(0);
while(true)
{
angle = 0;
if(category == WingedGrabber) j=9;
else j=7;
for(i=0; i<j; i++)
{
if( i % 2 == 0 )
{
item = radar(Titanium,angle,30,0,3);
if ( item == null )
{
turn(angle);
while(drop() == 106) wait(0.1);
turn(-180 - angle);
if(j == 7) move(3);
return;
}
angle = angle / -1 + 40;
}
else
{
item = radar(Titanium,angle,30,0,3);
if ( item == null )
{
turn(angle);
while(drop() == 106) wait(0.1);
turn(180 - angle);
if(j == 7) move(3);
return;
}
angle = angle / -1;
}
}
}
}
////////////////////////////////////////////////////////////////////// |
Tak to ma wyglądać!!!
Bez żadnego komentarza. Jeżeli coś jest niejasne to pytajcie. To komentarz wszystko skomplikował. Spacji i enterów jest tutaj tyle ile ma być!
Do poprawy jest jeszcze recharge i zbieranie tytanu przy fladze jeżeli jest != null.[/code] |
Ostatnio zmieniony przez Mrocza 12-12-2011, 07:50, w całości zmieniany 2 razy |
|
|
|
|
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: 12-12-2011, 01:08
|
|
|
@Simbax
1) Jesli potrzebujesz komentarzy zeby zrozumiec swoj program to powodzenia
2) Komentarze sa po to, zeby objasniac i zwiekszac czytelnosc programu. Jesli dasz komentarz przy kazdej najglupszej linijce w stylu:
Kod: |
{ //to jest klamra
int x = 2; //x jest rowne dwa
} //to jest druga klamra
|
To nikt tych komentarzy nie bedzie czytac i program w dodatku bedzie wygladal jak smietnik. Jak juz cos robisz to z glowa.
@MROCZA
Teraz mozna nad tym programem pracowac |
_________________
|
|
|
|
|
|