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: Abadon 20-02-2010, 13:55 |
Radar3.0 |
Jak oceniasz przydatność tego programu? |
1-wogle nie przydatny |
|
20% |
[ 3 ] |
2-żadko sie przydaje |
|
0% |
[ 0 ] |
3-czasami się przyda |
|
40% |
[ 6 ] |
4-no przydatny |
|
26% |
[ 4 ] |
5-jak ja mogłem bez niego żyć?? |
|
13% |
[ 2 ] |
|
Głosowań: 15 |
Wszystkich Głosów: 15 |
|
|
|
Autor |
Wiadomość |
jedrus113
Wielki Geniusz
Twoja ulubiona misja: Na pewno nie 1: Na Saari 1: Uran
Wiek: 23 Dołączył: 07 Lip 2009 Posty: 20 Skąd: 127.0.0.1
|
Wysłany: 08-07-2009, 18:55
|
|
|
To że można ulepszyć program znaczy że go trzeba ulepszyć, bo jak to wygląda że mój program niejest doskonały??
//jakaś porypana składnia... Warn? -adiblol
dobra adiblol nie czepiaj się, widać, że się stara -DemoLisH |
_________________ Moja stronka www.jedrus113.cba.pl |
Ostatnio zmieniony przez DemoLisH 22-07-2009, 01:53, w całości zmieniany 2 razy |
|
|
|
|
pipok
Dołączył: 24 Cze 2009 Posty: 53
|
Wysłany: 08-07-2009, 21:10 Re: Radar4.0
|
|
|
Funkcję Compte() wywołujesz tyle razy, ile jest gatunków Obcych. To znaczy, że tyle samo razy (sześć) przeglądasz wszystkie obiekty planszy, sprawdzając, czy są danego typu. A wystarczy obiekty przeglądnąć tylko raz, powiększając w razie napotkania Obcego sumę dla jego kategorii:
Kod: | extern void object::Radar_Arr()
{
int nr, obcy[], suma[];
string[] napis;
object p;
nr = 0;
suma[nr]=0; obcy[nr] = AlienQueen; napis[nr++]="krolowych obcych";
suma[nr]=0; obcy[nr] = AlienAnt; napis[nr++]="mrowek";
suma[nr]=0; obcy[nr] = AlienWasp; napis[nr++]="os";
suma[nr]=0; obcy[nr] = AlienSpider; napis[nr++]="pajakow";
suma[nr]=0; obcy[nr] = AlienWorm; napis[nr++]="robakow";
suma[nr]=0; obcy[nr] = AlienEgg; napis[nr++]="jaj";
for (int i=0 ; i<10000 ; i++ )
{
p = retobject(i);
if ( p == null ) break;
for (int j = sizeof(obcy) - 1; j > 0 ; j--)
{
if (p.category == obcy[j]) suma[j]++;
}
}
for (int j = sizeof(obcy) - 1; j > 0 ; j--)
{
if (suma[j]!=0) message(suma[j]+" "+napis[j]);
}
}
|
|
|
|
|
|
Korniszon
Me Gusta: PPC
Twoja ulubiona misja: Spying...
Pomógł: 1 raz Wiek: 17 Dołączył: 01 Paź 2010 Posty: 108 Skąd: Stamtąd, gdzie ty.
|
Wysłany: 14-10-2010, 11:02
|
|
|
Ja nawet zrobiłem program liczący wszystkie z możliwych do znalezienia obiektów.
Kod: | extern void object::Radar_All_Objects()
{
errmode(0); //błąd wyskakiwał mi przy którejś pętli for, więc wpisałem errmode(0);
message("Program daje liczbę różnych obiektów na planszy");
int [] suma, obj;
int nr;
object p;
string [] napis;
nr = 0;
suma[nr] = 0; obj[nr] = Houston; napis[nr++] = "centrum kontroli misji";
suma[nr] = 0; obj[nr] = SpaceShip; napis[nr++] = "statków kosmicznych";
suma[nr] = 0; obj[nr] = BotFactory; napis[nr++] = "fabryk robotów";
suma[nr] = 0; obj[nr] = ResearchCenter; napis[nr++] = "centrum badawczych";
suma[nr] = 0; obj[nr] = RadarStation; napis[nr++] = "radarów";
suma[nr] = 0; obj[nr] = ExchangePost; napis[nr++] = "stacji przekaźnikowych";
suma[nr] = 0; obj[nr] = RepairCenter; napis[nr++] = "centrum naprawczych";
suma[nr] = 0; obj[nr] = DefenseTower; napis[nr++] = "wież obronnych";
suma[nr] = 0; obj[nr] = AutoLab; napis[nr++] = "laboratoriów";
suma[nr] = 0; obj[nr] = PowerStation; napis[nr++] = "stacji energytycznych";
suma[nr] = 0; obj[nr] = PowerPlant; napis[nr++] = "fabryk ogniw elektrycznych";
suma[nr] = 0; obj[nr] = NuclearPlant; napis[nr++] = "elektrowni atomowych";
suma[nr] = 0; obj[nr] = Converter; napis[nr++] = "hut";
suma[nr] = 0; obj[nr] = Derrick; napis[nr++] = "kopalni";
suma[nr] = 0; obj[nr] = PowerCaptor; napis[nr++] = "piorunochronów";
suma[nr] = 0; obj[nr] = Vault; napis[nr++] = "skrytek";
suma[nr] = 0; obj[nr] = AlienNest; napis[nr++] = "gniazd obcych";
suma[nr] = 0; obj[nr] = PracticeBot; napis[nr++] = "robotów ćwiczebnych";
suma[nr] = 0; obj[nr] = TargetBot; napis[nr++] = "robotów - celów";
suma[nr] = 0; obj[nr] = WheeledGrabber; napis[nr++] = "transporterów na kołach";
suma[nr] = 0; obj[nr] = TrackedGrabber; napis[nr++] = "transporterów na gąsienicach";
suma[nr] = 0; obj[nr] = WingedGrabber; napis[nr++] = "transporterów latających";
suma[nr] = 0; obj[nr] = LeggedGrabber; napis[nr++] = "transporterów na nogach";
suma[nr] = 0; obj[nr] = WheeledSniffer; napis[nr++] = "szperaczów na kołach";
suma[nr] = 0; obj[nr] = TrackedSniffer; napis[nr++] = "szperaczów na gąsienicach";
suma[nr] = 0; obj[nr] = WingedSniffer; napis[nr++] = "szperaczów latających";
suma[nr] = 0; obj[nr] = LeggedSniffer; napis[nr++] = "szperaczów na nogach";
suma[nr] = 0; obj[nr] = WheeledShooter; napis[nr++] = "dział na kołach";
suma[nr] = 0; obj[nr] = TrackedShooter; napis[nr++] = "dział na gąsienicach";
suma[nr] = 0; obj[nr] = WingedShooter; napis[nr++] = "dział latających";
suma[nr] = 0; obj[nr] = LeggedShooter; napis[nr++] = "dział na nogach";
suma[nr] = 0; obj[nr] = WheeledOrgaShooter; napis[nr++] = "dział organicznych na kołach";
suma[nr] = 0; obj[nr] = TrackedOrgaShooter; napis[nr++] = "dział organicznych na gąsienicach";
suma[nr] = 0; obj[nr] = WingedOrgaShooter; napis[nr++] = "latających dział organicznych";
suma[nr] = 0; obj[nr] = LeggedOrgaShooter; napis[nr++] = "dział organicznych na nogach";
suma[nr] = 0; obj[nr] = Subber; napis[nr++] = "nurków";
suma[nr] = 0; obj[nr] = PhazerShooter; napis[nr++] = "dział fazowych";
suma[nr] = 0; obj[nr] = Thumper; napis[nr++] = "uderzaczy";
suma[nr] = 0; obj[nr] = Shielder; napis[nr++] = "osłaniaczy";
suma[nr] = 0; obj[nr] = Recycler; napis[nr++] = "recyklerów";
suma[nr] = 0; obj[nr] = Me; napis[nr++] = "astronautów";
suma[nr] = 0; obj[nr] = Tech; napis[nr++] = "inżynierów";
suma[nr] = 0; obj[nr] = TitaniumOre; napis[nr++] = "rud tytanu";
suma[nr] = 0; obj[nr] = UraniumOre; napis[nr++] = "rud uranu";
suma[nr] = 0; obj[nr] = Titanium; napis[nr++] = "tytanów";
suma[nr] = 0; obj[nr] = PowerCell; napis[nr++] = "ogniw elektrycznych";
suma[nr] = 0; obj[nr] = NuclearCell; napis[nr++] = "atomowych ogniw elektrycznych";
suma[nr] = 0; obj[nr] = OrgaMatter; napis[nr++] = "materii organicznych";
suma[nr] = 0; obj[nr] = BlackBox; napis[nr++] = "czarnych skrzynek";
suma[nr] = 0; obj[nr] = TNT; napis[nr++] = "materiałów wybuchowych";
suma[nr] = 0; obj[nr] = KeyA; napis[nr++] = "klucz a";
suma[nr] = 0; obj[nr] = KeyB; napis[nr++] = "klucz b";
suma[nr] = 0; obj[nr] = KeyC; napis[nr++] = "klucz c";
suma[nr] = 0; obj[nr] = KeyD; napis[nr++] = "klucz d";
suma[nr] = 0; obj[nr] = Mine; napis[nr++] = "min";
suma[nr] = 0; obj[nr] = Barrier; napis[nr++] = "barier";
suma[nr] = 0; obj[nr] = Wreck; napis[nr++] = "wraków";
suma[nr] = 0; obj[nr] = BlueFlag; napis[nr++] = "niebieskich flag";
suma[nr] = 0; obj[nr] = YellowFlag; napis[nr++] = "żółtych flag";
suma[nr] = 0; obj[nr] = RedFlag; napis[nr++] = "czerwonych flag";
suma[nr] = 0; obj[nr] = GreenFlag; napis[nr++] = "zielonych flag";
suma[nr] = 0; obj[nr] = VioletFlag; napis[nr++] = "fioletowych flag";
suma[nr] = 0; obj[nr] = WayPoint; napis[nr++] = "punktów kontrolnych";
suma[nr] = 0; obj[nr] = Target2; napis[nr++] = "powietrznych punktów kontrolnych";
suma[nr] = 0; obj[nr] = Target1; napis[nr++] = "słupów z kolcami";
suma[nr] = 0; obj[nr] = TitaniumSpot; napis[nr++] = "złóż tytanu";
suma[nr] = 0; obj[nr] = UraniumSpot; napis[nr++] = "złóż uranu";
suma[nr] = 0; obj[nr] = PowerSpot; napis[nr++] = "złóż energii";
suma[nr] = 0; obj[nr] = AlienAnt; napis[nr++] = "mrówek";
suma[nr] = 0; obj[nr] = AlienSpider; napis[nr++] = "pająków";
suma[nr] = 0; obj[nr] = AlienWorm; napis[nr++] = "robali";
suma[nr] = 0; obj[nr] = AlienWasp; napis[nr++] = "os";
suma[nr] = 0; obj[nr] = AlienEgg; napis[nr++] = "jaj";
suma[nr] = 0; obj[nr] = AlienQueen; napis[nr++] = "królowych obcych";
while(true)
{
for(nr = 0; nr < 1000; nr ++)
{
p=retobject(nr);
if(p==null) break;
for(int j = 0; j < sizeof(obj); j ++)
{
if(p.category == obj[j])
{
suma[j] ++;
}
}
}
for(nr = 0; nr < sizeof(obj); nr ++)
{
if(suma[nr] != 0)
{
message(suma[nr]+" "+napis[nr]);
suma[nr] = 0;
wait(3);
}
}
}
}
|
\\prawie bym zapomniał - liczy też obcych |
_________________ Nazywajcie mnie KL582 (nick w Minecraft) |
Ostatnio zmieniony przez Korniszon 24-12-2010, 13:39, w całości zmieniany 1 raz |
|
|
|
|
adiblol
Administrator forum FLOSS FTW!
Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy Dołączył: 21 Kwi 2008 Posty: 1313 Skąd: pokój odsłuchowy
|
|
|
|
|
Korniszon
Me Gusta: PPC
Twoja ulubiona misja: Spying...
Pomógł: 1 raz Wiek: 17 Dołączył: 01 Paź 2010 Posty: 108 Skąd: Stamtąd, gdzie ty.
|
Wysłany: 14-10-2010, 13:32
|
|
|
He he - ja już myślę nad trudniejszymi programami. |
_________________ Nazywajcie mnie KL582 (nick w Minecraft) |
|
|
|
|
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: 14-10-2010, 20:03
|
|
|
Bys napisal co on dokladnie robi, bo mam wrazenie, ze widze pare potencjalnych usprawnien ale nie bede ich wytykal odrazu bo jeszcze sie przyczepisz, ze nie rozumiem go |
_________________
|
|
|
|
|
Korniszon
Me Gusta: PPC
Twoja ulubiona misja: Spying...
Pomógł: 1 raz Wiek: 17 Dołączył: 01 Paź 2010 Posty: 108 Skąd: Stamtąd, gdzie ty.
|
Wysłany: 24-12-2010, 13:37
|
|
|
Teraz możesz już je wtykać. |
_________________ Nazywajcie mnie KL582 (nick w Minecraft) |
|
|
|
|
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: 24-12-2010, 17:31
|
|
|
Teraz to ich juz nie pamietam ;d
@edit
Niepotrzebnie jest tu tyle pisane. Mogles wykorzystac to, ze kategorie to tak naprawde stale typu int i za pomoca tych stalych adresowac elementy tablicy. Przyklad:
Kod: |
p = retobject(i);
(p != null) ? list[p.category]++ : break;
|
Drugim elementem ktory by sporo ulatwil byloby stworzenie prostej klasy do zapamietywania takich bzdur jak napis. Ulatwiloby ci to zycie. Przyklad:
Kod: | public class noob
{
int cat = 0;
string msg = "";
void noob(int c, string m)
{
cat = c;
msg = m;
}
}
extern void object::Test()
{
noob list[];
list[AlienAnt] = new noob(AlienAnt, "mrowka");
message(list[AlienAnt].msg);
}
|
Tak kombinujac bys mogl jeszcze go uproscic (rezygnacja z wlasnych napisow i wyswietlanie po prostu kategorii w stylu "AlienAnt: 2"), ale pewnie bedziesz i tak mial problem ze zrozumieniem tego, co tu napisalem wiec nie bede sie rozpisywac |
_________________
|
|
|
|
|
Korniszon
Me Gusta: PPC
Twoja ulubiona misja: Spying...
Pomógł: 1 raz Wiek: 17 Dołączył: 01 Paź 2010 Posty: 108 Skąd: Stamtąd, gdzie ty.
|
Wysłany: 25-12-2010, 08:56
|
|
|
Mała zmiana:
Zamiast:
Kod: | message(suma[nr]+" "+napis[nr]); |
może być:
Kod: | message("Ilosc "+napis[nr]+": "+suma[nr]); |
|
_________________ Nazywajcie mnie KL582 (nick w Minecraft) |
|
|
|
|
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: 25-12-2010, 10:30
|
|
|
Drastyczna ta zmiana |
_________________
|
|
|
|
|
Korniszon
Me Gusta: PPC
Twoja ulubiona misja: Spying...
Pomógł: 1 raz Wiek: 17 Dołączył: 01 Paź 2010 Posty: 108 Skąd: Stamtąd, gdzie ty.
|
Wysłany: 25-12-2010, 16:16
|
|
|
Ale może wyświetlić:
a to może być dla niektórych niezrozumiałe.
jest bardziej zrozumiałe. |
_________________ Nazywajcie mnie KL582 (nick w Minecraft) |
|
|
|
|
|
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 |
|
|