[ BlueSoniq @ 29.10.2003. 14:41 ] @
| http://robocode.alphaworks.ibm.com/home/home.html
Na gornjoj adresi se nalazi razvojno okruzenje pisano u javi u kome mozete isprogramirati svoje tenkice i pustititi ih u arenu sa protivnikom. Komande su dosta jednostavne mada mozete praviti i slozeniji AI. Ukoliko neko hoce moze da se
oproba sa mojim tenkicem - mada i nije nesto specijalno. Kontakt na e-mail.
[email protected] /. Ukoliko bude malo vise zainteresovanih napravicemo ligu.
|
[ weB_KiLeR @ 29.10.2003. 18:29 ] @
Hmm vidis to je cool :)))
Inace secam se neke igrice u kojoj je fora da isprogramiras robota da odradi neki zadatak i ona kucas neki lagan kod koji ima sintaxu kao java i c... Inace sa tim sam se cimao bas je cool a i ovo cu da probam pa nek svako napravi svoj tenkic pa da se bijemo :))))
[ alex @ 29.10.2003. 19:46 ] @
Svojevremeno sam na starom Sezamu (seca li se ko toga?  ) organizovao takmicenja sa programom PCrobots (veoma slicno ovim Java tenkovima), bila je liga i sve je islo super sve dok se nije otkrilo da je jedan od ucesnika umesto svog robota takmicara poturio neku mega-zvezdu robota pokupljenog sa interneta..
Mozete zamisliti sta je posle bilo od takmicenja.
U svakom slucaju, bilo je super dok je trajalo, i drage volje bih se prikljucio takmicenju. 
[ -zombie- @ 29.10.2003. 20:25 ] @
da, i mi smo svojevremeno igrali PRobots (pascal verzija) na letnjim školama/pripremama. mada još u vreme "pre interneta" (khm), tako da niko nije ni mogao da vara.
i naravno, bio sam među najboljima ;)
stvarno je bilo jako zabavno. :) čak toliko da već neko vreme planiram da napravim i phpRobots port (naravno, otežava što php nema niti). primarno zato što je php sad toliko popularan, a i zato što većina novih klinaca ne vežba dovoljno svoje vijuge radeći samo "web prezentacije".
a što se ovih java botića, i ja sam vrlo zainteresovan :). prvo vreme koje ugrabim ide na programiranje ovih (i ja ne vežbam svoje vijuge dovoljno u poslednje vreme ;)
samo da vidimo da i ovde ne postoji isti problem oko varanja?
[ weB_KiLeR @ 29.10.2003. 21:13 ] @
Ajd ljudi da napravimo jedno malo takmicenje i naravno bez cheat-ovanja nije fora...
Ovo treba da bude cimanje a ne dokazivanje kome je veci i tako dalje :))))
[ zAkiLi @ 29.10.2003. 23:24 ] @
Ja sam pokusao da organizujem neko takmicenje na nivou fakulteta (FON-a), medjutim nisam naisao na preterano interesovanje, mrzi ljude da kodiraju :)
U svakom slucaju ja sam ZA.
[ BlueSoniq @ 30.10.2003. 01:28 ] @
Mislim da ne moze biti varanja jer svaki robot ima potpis svog kreatora
i pakuje se u .jar file. Naravno postoje neke diskusije o tome da li je bolje
koristiti ovaj ili onaj nacin targetinga ili kako izbegavati metkice, ali
najvaznije je da se zna trigonometrija.
evo jednog primera koji dolazi sa programom
------------------**************************-----------------------
Code:
package sample;
import robocode.*;
/**
* Tracker - a sample robot by Mathew Nelson
*
* Locks onto a robot, moves close, fires when close.
*/
public class Tracker extends Robot
{
int count = 0; // Keeps track of how long we've
// been searching for our target
double gunTurnAmt; // How much to turn our gun when searching
String trackName; // Name of the robot we're currently tracking
/**
* run: Tracker's main run function
*/
public void run() {
trackName = null; // Initialize to not tracking anyone
setAdjustGunForRobotTurn(true); // Keep the gun still when we turn
gunTurnAmt = 10; // Initialize gunTurn to 10
while (true) {
// turn the Gun (looks for enemy)
turnGunRight(gunTurnAmt);
// Keep track of how long we've been looking
count++;
// If we've haven't seen our target for 2 turns, look left
if (count > 2)
{
gunTurnAmt = -10;
}
// If we still haven't seen our target for 5 turns, look right
if (count > 5)
gunTurnAmt = 10;
// If we *still* haven't seen our target after 10 turns, find another target
if (count > 11)
trackName = null;
}
}
/**
* onScannedRobot: Here's the good stuff
*/
public void onScannedRobot(ScannedRobotEvent e) {
// If we have a target, and this isn't it, return immediately
// so we can get more ScannedRobotEvents.
if (trackName != null && !e.getName().equals(trackName))
return;
// If we don't have a target, well, now we do!
if (trackName == null) {
trackName = e.getName();
out.println("Tracking " + trackName);
}
// This is our target. Reset count (see the run method)
count = 0;
// If our target is too far away, turn and move torward it.
if (e.getDistance() > 150)
{
gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));
turnGunRight(gunTurnAmt); // Try changing these to setTurnGunRight,
turnRight(e.getBearing()); // and see how much Tracker improves...
// (you'll have to make Tracker an AdvancedRobot)
ahead(e.getDistance() - 140);
return;
}
// Our target is close.
gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));
turnGunRight(gunTurnAmt);
fire(3);
// Our target is too close! Back up.
if (e.getDistance() < 100)
{
if (e.getBearing() > -90 && e.getBearing() <= 90)
back(40);
else
ahead(40);
}
scan();
}
/**
* onHitRobot: Set him as our new target
*/
public void onHitRobot(HitRobotEvent e) {
// Only print if he's not already our target.
if (trackName != null && !trackName.equals(e.getName()))
{
out.println("Tracking " + e.getName() + " due to collision");
}
// Set the target
trackName = e.getName();
// Back up a bit.
// Note: We won't get scan events while we're doing this!
// An AdvancedRobot might use setBack(); execute();
gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));
turnGunRight(gunTurnAmt);
fire(3);
back(50);
}
/**
* onWin: Do a victory dance
*/
public void onWin(WinEvent e) {
for (int i = 0; i < 50; i++)
{
turnRight(30);
turnLeft(30);
}
}
// normalAbsoluteAngle is not used in this robot,
// but is here for reference.
/**
* normalAbsoluteAngle: returns angle such that 0 <= angle < 360
*/
public double normalAbsoluteAngle(double angle) {
if (angle >= 0 && angle < 360)
return angle;
double fixedAngle = angle;
while (fixedAngle < 0)
fixedAngle += 360;
while (fixedAngle >= 360)
fixedAngle -= 360;
return fixedAngle;
}
/**
* normalRelativeAngle: returns angle such that -180<angle<=180
*/
public double normalRelativeAngle(double angle) {
if (angle > -180 && angle <= 180)
return angle;
double fixedAngle = angle;
while (fixedAngle <= -180)
fixedAngle += 360;
while (fixedAngle > 180)
fixedAngle -= 360;
return fixedAngle;
}
}
[ leka @ 30.10.2003. 13:43 ] @
Ja sam izmenio gornju poruku i JAVA kod stavio onako kako treba... Molim vas da SORS KOD stavljate unutar "code" tagova!
[ -zombie- @ 01.11.2003. 14:49 ] @
evo, ja trenutno radim na kretanju (relativno je nezavisna operacija od skeniranja/pucanja), i lepo sam sve isprogramirao (kako sam zamislio) u slučaju kretanja bota u napred, ali kada udari u prepreku, najbolja taktika (bar koliko ja mogu da predpostavim) je da odmah krenem unazad.
e tu već imam problem. izgleda da sam našao "logičnu grešku" u robocode aplikaciji.
naime, znate valjda svi da kada vozite kola u rikverc, ako volan okrenete na desno, opet skrećete desno, nezavisno od toga što idete u rikverc.
ali u robocode, ako pozovem funkciju setTurnRight(90) dok idem u nazad, robot skreće u levo (iako recimo funkcija getHeading() vraća ugao koji potvrđuje da nisam okrenut, tj da stvarno idem u rikverc).
no, moraću ovo da rešim nekako, ili da smišljam drugu taktiku (natrag za crtaću tablu).
nego, napreduje li još neko, ili ću ja da se igram sam sa sobom ;)
[ weB_KiLeR @ 01.11.2003. 18:11 ] @
Ja sam nov u ovome pa jos proucavam API-je tj sta sve moze :)))
Uglavnom smislio sam od prilike kako i sta, dosta je vazno i da odredite ponasanje tenka prema protivniku tj koliko ima health-a koliko ovo ono itd...
Meni ce trebati jedno nedelju dana da sklepam pa cemo pravimo ono probni test da vidimo kako ide i tako to :))) (jbg nemam vremena da ga radim) :(
[ BlueSoniq @ 01.11.2003. 18:25 ] @
Najbolje bi bilo da tenkic uopste ne udari u zid jer gubi mnogo energije. Treba da se ubaci funkcija koja testira getX() ondnosno getY() i ako je blizu nekog zida da
ga odmah posalje u sredinu ili blizu.
Najbolje je takodje koristiti kretanje sa setAhead() i setTurnLeft() nego
ahead() i turnLeft() zato sto se ceka na zavrsetak svake. Sta to znaci, pa ne moze tenkic da istovremeno skrece i ide napred.
Kod pucanja bi trebalo da se obrati paznja i na presretanje ondnosno brzina metaka
je ogranicena i iznosi 20-(power*3); sto znaci sto je manja snaga i metkic je brzi.
Ostecenje koje metak prouzrokuje se takodje izracunava i nije linearno vec ima
jos neki dodatni bonus ako je preko 2.
Snaga metka moze biti (0.1 - 3).
Ukoliko je cev topa pregrejana on nece pucati. To moze da se proveri pomocu
funkcije cini mi se gunHeat()==0;
Ima ceo tutorijal na site + Odlican FAQ.
Moglo bi se naci i par dobrih trigonometrijskih funkcija od nekih freakova.
[ -zombie- @ 02.11.2003. 03:18 ] @
killer: pa i ja sam nov ;). prvi put sam za ovo čuo kad je ovde postovano. a to što sam igrao PRobots nije neka prednost. ovo se dosta razlikuje, mnogo je komplexnije, a i to davno beše ;)
bluesoniq: nisam rekao zid. rekao sam "prepreka", što može biti drugi robot, ili (retko) zid. naravno da treba izbegavati zidove u "normalnim" okolnostima ;)
inače, apsolutno se slažem da je bolje koristiti neblokirajuće funkcije. jeste malo "komplikovanije" da se isprogramira od klasičnog "okreni se ovamo, pomeri se napred..", ali ima prednosti. tenk je ipak najranjiviji kada stoji (tj i kada se okreće).
nego, vidim da znaš teoriju. oćemo skoro da vidimo neku praxu? ;)
inače, moj robot već zna da se kreće (i u rikverc ;), a sada ga učim da koči u krivinama (tj do pola krivine usporava, a posle.. :-P). samo da završim ovo kretanje, i dodam neko prosto nišanjenje/pucanje, okačiću ga negde..
[ Gojko Vujovic @ 02.11.2003. 10:39 ] @
Napravio sam i ja nekog svog robota samo izgleda da je mnogo glup za sada pošto uvek prvi zgine u borbi sa sample robotima. :))
Moraću da smislim neku taktiku razvoja i kakvog to robota uopšte pravim, ovako nasumično dodavanje funkcija ne ide. Kako mu pravite AI, ja sam razmišljao da krenem da vodim evidenciju o svim robotima koje je sreo (i da to piše na disk; hint: advancedrobot), možda ima smisla koristiti informacije o tome u narednim partijama? Tipa nauči koji robot je najizdržljiviji pa onda beži od njega kad ga ugleda.
Copyright na ideju (c) 2003 by Gojko. :)))
[ gojava @ 03.11.2003. 07:45 ] @
Malo sam se prosetao sajtovima koji su u vezi sa temom i vidim da je to vec poodmakla stvar.
Nisam siguran odakle da pocnem da bih se sto pre ukljucio u igru, a pravo da vam kazem nije mi 20 god. da bih imao vremena napretek da se zezam mnogo sa nekom igricom.
Ono sto hocu da kazem je da ako neko od Vas ko je malo vise ukljucen u igru ima volje, mogao bi da otvori neki mali sajt (par stranica) gde bi bilo objasnjeno odakle treba poceti i gde se nalaze dobra uputstva i sl. da bi moglo sto brze da se napreduje, tj. koji su to pravi koraci za pravilno napredovanje.
Inace podrzavam ideju da se dobro igramo na net-u.
[ zWer! @ 03.11.2003. 10:46 ] @
Pozdrav svima. Na preporuku BlueSoniq-a evo i mene na forumu. Inace, indirektno i ja sam 'kriv' za ovaj topic pa evo da doprinesem razvoju ove discipline sa par korisnih linkova.
- sajt koji sluzi kao skladiste za robote (kad ga napravite i zadovoljni ste sa njim mozete da ga uploadujete)
http://robocoderepository.com/
- jedna od najmasovnijih liga na netu
http://robowiki.dyndns.org/perl/robowiki?RoboRumble
Inace Zwer jos uvek nije na Repositoriju jer jos uvek raste. Nezreo je da bi se umesao u frku sa velikanima. Mora ime da opravda
[ BlueSoniq @ 03.11.2003. 17:05 ] @
AI robotica bi se mogao grubo podeliti (na klase) na sledeci nacin:
Nisanjenje:
Predvidjanje putanje robota, presretanje tj. pucanje ispred kretanja tenkica, odredjivanje snage metkica.
Kretanje:
Odabir najbolje taktike izbegavanja: oscilatorno kretanje, random kretanje, kretanje u krug oko protivnika, izbegavanje prepreka, udaljavanje od protivnika ili priblizavanje ukoliko je predaleko.
Pravljenje baze podataka o uspesnim i neuspesnim mecima i ponasanju protivnika zbog predvidjanja njegove putanje (pattern matchong) pomocu implementacije Serializable.
za zombia:
Jeste tenk je najranjiviji kad stoji, mada ukoliiko neko koristi presretanje, neki put to moze da mu spase glavu. Tako da bih dodao da je tenk najranjiviji kad se krece pravolinijski u bilo kom pravcu.
Generalne instrukcije: ko hoce....
Napraviti nekoliko funkcija i smestitit ih u void run()
do movment
do scener
do gun
do fire
do stat
napraviti klasu enemy
u njoj drzati podatke u skeniranom neprijatelju.
skener se krece 45 stepeni po jednom tick-u(vremenska jedinica u robotcodu)
gun se krece 20 stepeni po jednom ticku
robotova maksimalna brzina je 8 tacaka u jednom ticku
robot najbrze skrece kada stoji, dobro ovo ste znali ali....
ima jos tih pravila ali sada nemugu sve da ih nabrojim.
obiman tutorijal je na vec spomenutom sajtu.
[ BlueSoniq @ 03.11.2003. 17:10 ] @
Citat: zWer!:
Pozdrav svima. Na preporuku BlueSoniq-a evo i mene na forumu. Inace, indirektno i ja sam 'kriv' za ovaj topic pa evo da doprinesem razvoju ove discipline sa par korisnih linkova.
- sajt koji sluzi kao skladiste za robote (kad ga napravite i zadovoljni ste sa njim mozete da ga uploadujete)
http://robocoderepository.com/
- jedna od najmasovnijih liga na netu
http://robowiki.dyndns.org/perl/robowiki?RoboRumble
Inace Zwer jos uvek nije na Repositoriju jer jos uvek raste. Nezreo je da bi se umesao u frku sa velikanima. Mora ime da opravda
Zwer je ne samo sto je odgovaran sto sam se zapalio za tenkice nego je uopste kriv sto sam nekoliko noci probdeo nervirajuci se i pisuci nekoliko robota od samog pocetka. Shame on you zWeri!!!!!!!!!!!!!!!!!!!!
Evo mog skromnog robotica. Ubacite ga u dir gde pise robots.
Ali doslo je i mojih pet minuta nasa dva tenkica sada stoje rame uz rame, cak i biju neke dobre tenkice sa repositary-ja. npr simone.03d
Najbolji robot na celom 'svetu ' je SandBoxDT, mozete ga skinuti sa repositary-ja naravno bez sours koda. Dobri su i Tron, microAspid pa kad ih skinete, nemojte se
razocarati kao ja kad krenu da vas kidaju na parcad.
[ Shinhan @ 01.12.2003. 09:56 ] @
Sad sam tek èuo o ovome, pa sam pomislio da bi ovo bilo dobra prilika da nauèim Javu :)
E sad, hteo sam još nešto da vam pokažem: http://www.programmersheaven.com/zone8/cat122/1001.htm
To vam je programèiæè koji prikazuje više movement algoritama. Ne znam koliko je to primenjivo baš u Robocode (možda vam se svidi neki od naprednijih algoritama?), ali mislim da je zanimljiv primer.
[ BlueSoniq @ 17.12.2003. 16:02 ] @
Zar niko nije napravio svog robota. Pa proslo je skoro 2 i slovima dva meseca ???
Gde je domaca liga? Pa prvenstvo, pa kvalifikacije, pa sta sve tu vec ima?
[ -zombie- @ 18.12.2003. 13:06 ] @
kriv sam.
ja sam mog počeo, baš sam se trudio par dana, i tek što je prohodao, morao sam da se okrenem nekim "bitnijim" stvarima u životu ;(
i mada i u skorije vreme ne liči da ću biti slobodniji, evo javno obaćavam (da bih sebe naterao ;) da ću uskoro privršiti jednog robotića.. :-P
ostali?
[ Gojko Vujovic @ 18.12.2003. 22:52 ] @
Ladno na nekom predmetu na FTNu (NS) imaju kao poslednju vežbu i
programiranje robocode robota. Oduševio sam se kad sam video. :)
Kažu da iz godine u godinu uvode reforme na taj računarski smer, ko zna
možda to još ispadne i dobar fakultet? Mislite o tome.
[ Sekula013 @ 28.02.2004. 13:50 ] @
Pozdrav svim programerima u Javi.Ja sam zestok pocetnik sa Javom,poceo sam da idem u skolu programiranja prosle nedelje.Bio bih zahvalan kad bi neko mogao da me nauci neke osnovne stvari Javi kako bi poceo da pravim neke sitne progrmacice!
[ NikolaVeber @ 28.02.2004. 14:02 ] @
Pa sto si kretao u skolu programiranja ako ne da te tamo nesto nauce?
A sto se jave tice, imas na netu brdo dokumentacije. Za forum su samo vrlo specificna pitanja na koja nisi uspeo da nadjes odgovor na netu.
[ Sekula013 @ 28.02.2004. 14:22 ] @
Krenuo sam na kurs jer je mnogo dobar i zanima me Java kao programski jezik.Inace sad prvo ulazimo u osnovne komande,naravno pre svega malo teorije.Mislio sam da ce neko da mi pokaze neke osnovne stvari da bi sam kuci malo vezbao van te akademije ali nema veze...
[ NikolaVeber @ 28.02.2004. 15:00 ] @
"neke osnovne stvari" su jako sirok pojam. Nadji na netu neki tutorial sa najprostijim primerima i vezbaj. Malo je neozbilnjo traziti da te neko poducava preko foruma.
[ u_m @ 29.02.2004. 23:40 ] @
Nego kako napreduje liga?
Nadam se da ce biti dostojnih izazivaca za "UM-rule" tenkic.
Ako ima neko nek stavi svoj .jar fajl, mada moj tenk jos nije punoljetan da ga pustim iz kuce, ali vec je naj!!!
[ StMilan @ 02.07.2004. 20:09 ] @
[ Vranac @ 20.08.2004. 18:42 ] @
Covece, skroz slucajno sam nabasao na ovaj thread, vec vidim na sta cu da trosim ono malo slobodnog vremena koje imam :)
Let The Games Begin!!!!!
[ DeepInBrain @ 29.08.2004. 03:04 ] @
Haaaa
evo i mene.
Ja sad ne znam da li je ova tema jos uvek aktivna, ali meni je zanimljiva :)
Ja sam napravio jednog robota koji je za pocetak analizirao kretanje drugog u prvoj rundi, pa onda u zavisnosti od toga birao neku od onih ponudjenih strategija (crazy, fire...) i jos neke moje (Pratilac, ali malo pametniji i dobar je za team, LEMISKATA je kljucna tec!!! ;). Treba samo da napravim jos par mojih i ovaj je spreman za 1 na 1, a videcemo kakav je i protiv vide njih. Ne znam da li je neko od vas odradio i vise, tj. team, ali ja mislim da je to mnogo jace nego kad se pravi samo jedan robot, ali otm potom, ne moze se sve odjednom, jel tako!?
Nemojte da ovo umre, meni je jako zanimljivo, posto sam ovakve tenkice pravio u C++u, ali bez radara i gun nije bio odvojena celina od tela tenkica, lai sam zbog faxa to "batalio".
De, jel ima jos uvek zainteresovanih???
[ samilen @ 24.01.2005. 23:09 ] @
Citat: DeepInBrain:De, jel ima jos uvek zainteresovanih???
Ima.
Samo sto ja prvi put cujem za ovako nesto i sviđa mi se ideja, a kako ću se pokazati... ostaje da tek vidimo kad prionem na posao.
Ajde ljudi živnite malo.
[ samilen @ 27.01.2005. 17:48 ] @
Pa ovo radi...
Jes' da je glup ko noć, ali ga volim kao sina :}
ko hoće da ga proba neka ga skine sa www.javnauprava.fon.bg.ac.yu/Java/PrviRobot.class
[ igyy @ 27.01.2005. 18:02 ] @
cim prodju zimski rokovi napravit cu svog robota pa ćemo da se bijemo :)
[ igyy @ 11.02.2005. 22:49 ] @
Evo gotov je i moj drugi "glupko" hehe,
Uspio sam pobijediti skoro sve standardne robote (one koje dobiješ s platformom) ali još uvijek moram doraditi pojedine dijelove...
Prava ludnica :)
[ Crash Overide @ 02.03.2005. 11:57 ] @
Skinuo sam robocode_setup i ne znam što treba dalje.................
imam windowse i ne znam što da učinim onim jar fileom ...................
može pomoć.........please
[ mucky @ 02.03.2005. 12:23 ] @
Da ga dva puta kliknesh?
Ili mozhda u konzoli java -jar robocode_setup.jar ? :)
[ Crash Overide @ 02.03.2005. 18:32 ] @
Da ali kad ga ja dva puta kliknem on mi otvori win_zip, a unutra ne vidim neku exuteble ikonu
--
Novi IskonDSL - Iskoristite ni=bee cijene te ponudu novih Flat Rate paketa.
Vi=b9e informacija na http://www.iskon.biz/dsl
[ mucky @ 02.03.2005. 21:58 ] @
Da bi radio sa robocode-om morash imati instaliran Java 2 SDK (po
mogucstvu najnoviju sto postoji, osim 1.5 verzija znaci 1.4*)
--
Until Eve arrived, this was a man's world. -- Richard Armour
[ Crash Overide @ 03.03.2005. 05:56 ] @
Imam J2EE. Da li mogu i s tim? Ili si bas moram skinuti J2SE SDK.
[ mucky @ 03.03.2005. 07:36 ] @
Ja mislim da mozes i sa J2EE. Poenta je da imas java i
javac programe.
Sa java -jar robocode_setup.jar pokreces setup, a javac
moras imati da bi
mogao kompajlirati robotice zar ne?
--
Until Eve arrived, this was a man's world. -- Richard Armour
[ Crash Overide @ 03.03.2005. 08:01 ] @
Ali gle, ja imam folder robocode-setup.zip(kojeg dok odzipam je unutra neki extract.jar-probal sam i s tim folderom u dos-u, ali jednostavno nece) i dok u dos-u napišem java -jar robocode_setup.jar ili .zip, pokaže mi gresku da nemre najti glavnu klasu("failed cannot find main class")
[ mucky @ 03.03.2005. 08:16 ] @
Evo sta pise na robocode homepage-u http://robocode.alphaworks.ibm.com :
Installing Robocode
Minimum System Requirements:
* Pentium II - 400, or equivalent (Robocode should run on a slower system, but slowly)
* 64MB of RAM (possibly 32, but no guarantees)
* Approx. 10MB of free disk space, plus temp space for install.
Welcome to the Robocode installer.
The first step is to make sure you have Javatm 2 version 1.3 or higher installed on your system.
Please Note: As of March 5, 2002, this installer will suggest Java 2 version 1.4 where appropriate. Upgrading is recommended but not required. Please report any problems on the forum.
Onda posle:
* To complete the installation: Download robocode-setup.jar. Mozilla user: right-click and select Save Link As (If you have trouble, try getting it here)
* Browse to the directory you saved it in.
* The icon should look like this:
Picture of what a jar file icon looks like
* Does it look like that?
[ikonica]
* Yes, it looks just like that: Run it by double-clicking it.
* You will be prompted for an installation directory.
* Once the installation is finished, you can start Robocode using the icon on your desktop or Start menu.
* No, it's a different icon: This means .jar files are not associated with javaw.exe on your system.
* Open a command prompt
* CD to the directory you downloaded it to
* type: java -jar robocode-setup.jar
* You will be prompted for an installation directory.
* Once the installation is finished, you can start Robocode using the icon on your desktop or Start menu.
[ Crash Overide @ 03.03.2005. 11:40 ] @
Tanks na svemu i pogledaj P(private)P(message) pa mi odg.
[ hansaplast @ 12.03.2005. 01:34 ] @
Posto sam tek pocheo hocje li mi neko objasnit kako da instaliram robocode poshto na sajtu neradi link nego sam skinuo neki zip koji nema main metodu?
[ kalkulus @ 13.03.2005. 23:52 ] @
na sajtu bi trebalo da imash alternativne linkove za download robocode-setup.jar fajla
[ InTheStillOfTheNight @ 22.03.2005. 18:23 ] @
Evo i ja sam tek počeo s ovim..... Ima da napravim nekakvu motorku ;)... U ovom području mašta je pola znanja... Evo upravo sam prohodao s robotičem... :)
[ Au197/79 @ 23.03.2005. 07:51 ] @
[ kalkulus @ 25.03.2005. 23:47 ] @
ja sam na zalost u sred ispitnog roka, ali nadam se da cu naci malo vremena nakon toga da se igram sa tenkicima, mnogo su ql :)
[ vkrstic @ 27.04.2005. 15:23 ] @
Upravo sam skinuo Robocode i mogu da vam kazem da je extremno zabavan,ali i koristan pri ucenju Jave.Sada idem malo da ceprkam po njemu i verujem da ce mi trebati jedno nedelju dana da napravim dobrog robota.A sto se tice one lige koju predlazete samo da znate da je to po meni odlicna ideja,cak sam na zvanicnom Robocode sajtu nasao softver sa tom namenom,te su sve pripreme lige u startu lakse za organizatora.
[ th33nd @ 07.06.2005. 09:45 ] @
Citat: Crash Overide: Tanks na svemu i pogledaj P(private)P(message) pa mi odg.
P(private) P(message)!!?? P = message!? hehehe ne ismevam te samo mi je bilo smesno! sorry
e citam ovaj topic od pocetka i kad sa video datum kad je tema postavljena, pomislih ma toga vise nema..kad sam dosao do trece stranice videvsi datum i da ste jos uvek svi aktivni, odlucio sam i ja da pokusam nesto da naucim i napravim tako da ocekujte me
[ NO PROBLEM @ 02.10.2005. 12:51 ] @
Aj nek neko posalje svog robota, pa da mogu da se isprobam.
Moj je za sada jos uvek suvise slab, pa da imam neku orijentaciju !!!
[ zaraza @ 02.10.2005. 23:58 ] @
da se i ja javim da sam se zainteresovao :)
videcemo kakav mi je tenk za neki dan, za sad leti ko muva bez glave, ali bar zna da gadja :)
[ NO PROBLEM @ 03.10.2005. 14:38 ] @
Zaraza kolko imas linija koda u roboticu i sta si mu sve "stavio" ?
Aj ga stavi u attachment, pa da ga vidimo !!!
[ zaraza @ 03.10.2005. 23:35 ] @
uf, jos me sramota :)
al eto sutra cu ga poslati pa sta bude...
inace, kao sto sam rekao lepo zna da proceni putanju suparnika i da ga u vecem broju slucajeva i pogodi (negde sam nasao na netu objasnjenje za ovo). Danas ga nisam ni pipnuo, a treba da poradim na tom kretanju...
[ NO PROBLEM @ 04.10.2005. 14:24 ] @
Aj samo daj mi neki link ka bilo kakvom sajtu koji je vezan za Robocode.
Ja sam malo gledao samo na http://robocode.sourceforge.net/
Al jos uvek se cimam sa ispitom nekim pa ne mogu bas ozbiljnije nesto da napravim. Mozes mi robota poslati i na mail [email protected] pa cisto da vidim dokle si stigao, mozes poslati i neko objasnjenje ili bilo sta, pa cu ja ubrzo napraviti nekog da se krljamo
[ Mister Big Time @ 18.10.2005. 00:16 ] @
Link iz prve poruke nije vise validan.
3/2/2005 - Robocode is now opensource! Version 1.0.7 is now available for download.
URL: http://robocode.sourceforge.net/
[ cerebrum @ 03.12.2005. 11:33 ] @
Ako je ova tema jos uvek aktivna onda ce vec neko da zna...
Na poslu mi je instalacija protekla bez problema: java -jar ... (Windows 2000)
ali kuci nakon malopre pomenute komande nece ni da makne (Windows XP SP2). Da li je neko imao slicnih problema na XP-u (vec tri puta sam reinstalirao j2re-1_4_2_03-windows-i586-p.exe, j2sdk-1_4_2_03-windows-i586-p.exe i j2eesdk-1_4-dr-windows-eval.exe).
Na poslu ne stizem da radim na ovom "interesantnom" projektu pa ako neko zna sta da radim ...
[ voxi @ 09.12.2005. 22:17 ] @
Moze li mi neko objasniti sta treba odnosno nakoji nacin da povezem kod sa
robocode?Kako da napravim tu klasu sta treba da ima od izlalza jeli se sa robocodmom povezuje u mniju OPTIONS->PERFORMANCES->DEVELOPEMENT OPTIONS!Sta treba da imam od izlala u koji editor da upisem kod (ili je svedno)voli obi da mi to pojasnite i ako je mogice da mi neko posalj najjednostavniji kod sorce file samo da vidim kako se to veze i sta treba da klasa ili sta vec daje od izlaza!!!
HVALA!!!
[ tesa @ 23.12.2005. 22:30 ] @
Sve zainteresovane za robocode sigurno ce zanimati da odu na http://www.codechallenge.com
Posle Nove Godine bice objavljena pravila takmicenja, kategorije i jos dodatnog materijala koji ce pomoci da se detaljnije prouce pravila.
[ trawarijus @ 30.12.2005. 14:43 ] @
...zanimljivo
[ Zicla @ 19.01.2006. 21:54 ] @
E daj nek neko napise tutorial ima dosta njig koji malo znaju (kao ja) ili cak ne znaju nista????
[ Zicla @ 19.01.2006. 21:56 ] @
E daj nek neko napise tutorial ima dosta njig koji malo znaju (kao ja) ili cak ne znaju nista????
[ voxi @ 25.01.2006. 17:30 ] @
Znali neko zastp mi se jvalja ova greska kada kada koristim f-ju getRobotHeading()
No method named "getRobotHeading" was found in type "sample/Robot1".
[ samilen @ 25.01.2006. 22:28 ] @
Verovatno zato sto ni nema te metode ...
Probaj sa getHeading() >
[Ovu poruku je menjao dana 25.01.2006. u 23:32 GMT+1]
[ voxi @ 28.01.2006. 18:13 ] @
U dokumentaciji pise fino da postoji getRobotHeading f-ja a li nece jednostavno da radi imali neko da zna zasto bez nekog filozofiranja da mi kaze neko ko ju je koristio!
Hvala!
[ DavorPro @ 31.10.2006. 17:00 ] @
Pozdrav !!!
Zelim vam dati samo pohvale na ovu temu. Ja sam nov na ovom forumu . Mene isto interesira programiranje u javi.
Tokoder sam upisao tecaj za java programera. No za sada sam u pocetnickoj fazi. Jako mi se svida ovo sa roboticima
probao sam ovaj kod staviti u Netbeans i pokreniti ga ali ne sljaka dali nesto fali u tom kodu a ujedno mi pokazuje i neke
greske. Saljem cijeli kod koji sam skinio
Ovu gresku javllja
ilegal start of type
/*
* PrviRobot.java
*
* Created on 2006. listopad 31, 17:29
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author Davor
*/
public class PrviRobot {
/** Creates a new instance of PrviRobot */
public PrviRobot() {
}
// Decompiled by DJ v3.0.0.63 Copyright 2002 Atanas Neshkov Date: 31.10.2006 17:24:40
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
package tanks;
import java.awt.Color;
import java.io.PrintStream;
import java.util.Random;
import robocode.*;
public class PrviRobot extends Robot
{
public static void main (String [] args){
} public PrviRobot()
{
ofset = 0.0D;
r = new Random();
}
public void run()
{
setColors(Color.green, Color.yellow, Color.blue);
do
{
setMaxPravo();
if(r.nextBoolean())
tutanj();
else
turnRight(normalRelativeAngle(getHeading()));
if(r.nextBoolean())
{
int i = 0;
if(getX() - getBattleFieldWidth() < 50D)
{
for(; i < 10; i = r.nextInt(170));
turnRight(i);
if(getX() < 50D)
{
for(; i < 10; i = r.nextInt(170));
i *= -1;
turnRight(i);
}
turnLeft(r.nextInt(50));
}
} else
{
int j = 0;
if(getY() - getBattleFieldHeight() < 50D)
{
for(; j < 10; j = r.nextInt(170));
j += 90;
turnRight(j);
if(getY() < 50D)
{
for(; j < 10; j = r.nextInt(170));
j -= 90;
turnRight(j);
}
turnRight(r.nextInt(50));
}
}
} while(true);
}
protected int getMaxPravo()
{
return maxPravo;
}
public void onHitByBullet(HitByBulletEvent hitbybulletevent)
{
turnRight(r.nextInt(100));
int i;
for(i = 0; i < 50; i = r.nextInt(500));
if(r.nextBoolean())
back(i);
else
ahead(i);
}
public void onScannedRobot(ScannedRobotEvent scannedrobotevent)
{
if(scannedrobotevent.getVelocity() != 0.0D)
{
if(scannedrobotevent.getVelocity() > 0.0D)
ofset = 3D;
else
ofset = -2D;
turnGunRight(ofset);
}
smartFire(scannedrobotevent.getDistance(), scannedrobotevent.getEnergy());
out.println("**********\npoX:" + (getBattleFieldWidth() - getX() - getWidth()) + "\npoY:" + (getBattleFieldHeight() - getY() - getHeight()) + "\ngetMaxPravo=" + getMaxPravo() + "\n-sin(poX)=" + Math.toRadians(getHeading()) + "\ngetHeading()=" + getHeading() + "\nX:" + getX() + "\nY:" + getY());
if(getEnergy() - scannedrobotevent.getEnergy() > -10D)
turnRight(scannedrobotevent.getBearing());
if(r.nextBoolean())
{
if(scannedrobotevent.getEnergy() < getEnergy())
turnRight(scannedrobotevent.getBearing());
} else
if(scannedrobotevent.getDistance() < 100D)
{
turnLeft(scannedrobotevent.getBearing());
back(100D);
}
}
public void onBulletMissed(BulletMissedEvent bulletmissedevent)
{
double d;
if((d = getGunHeading()) != 0.0D)
if(d > 0.0D)
turnGunLeft(d);
else
turnGunRight(d);
}
protected void setMaxPravo()
{
double d = getBattleFieldWidth() - getX() - getWidth();
double d1 = getBattleFieldHeight() - getY() - getHeight();
if(d < 0.0D)
d += getBattleFieldHeight();
if(d1 < 0.0D)
d1 += getBattleFieldHeight();
d1 *= Math.cos(Math.toDegrees(getHeading()));
d *= -Math.sin(Math.toDegrees(getHeading()));
maxPravo = (int)Math.sqrt(Math.pow(d - getX(), 2D) + Math.pow(d1 - getY(), 2D));
}
private void tutanj()
{
setMaxPravo();
ahead(r.nextInt(getMaxPravo() + 1));
}
public void smartFire(double d, double d1)
{
if((d > 200D || getEnergy() < 15D) && d1 > 15D)
fire(1.0D);
else
if(d > 100D)
fire(2D);
else
fire(3D);
}
public double normalRelativeAngle(double d)
{
if(d > -180D && d <= 180D)
return d;
double d1;
for(d1 = d; d1 <= -180D; d1 += 360D);
for(; d1 > 180D; d1 -= 360D);
return d1;
}
double ofset;
private int maxPravo;
private Random r;
}
}
Sta tu ne stima mozeli se tu sta napraviti
[ voxi @ 31.10.2006. 20:59 ] @
Prvo da ti kazem skini robokod ima tu negde link odalen ga mozes skinuti
zatim ga instaliraj bla bla i kada to uradis onda ga pokreni.
Kada starutuje imas meni Robot pa onda imas u tiom meniju Editor i njega
otvori zatim tu upisi ovaj kod i kompajliraj i dobces rezultat kompajliranja
ja sam dobio sledecu gresu ali samo jednu : Compiling...
Found 1 syntax error in "C:/robocode/robots/mypackage/PrviRobot.java":
161. }
<>
*** Syntax: Unexpected symbol ignored
Compile Failed (1)
sto znaci da je neka sintaksna greska ali mi se ne da sada traziti gde je
nemam vremena! Uglavnom sta hocu da ti kazem uradi ovo prethodno a uz
robocode kada ga skines imas par robota primera kde se vid kod i gde mozes
da vidis kako se oni ponasaju kod takodje gledas uedituru gde ga i pises
naravno!
Eto toliko od mene ako jos nesto trebadne javi a nemoj odma da se zmajavas
sa ovako dugim kodovima uzmi prvo kradtke najjednostavnije cisto da vidis
kako to sve funkcijonise
Pozz
[ djavolko @ 30.01.2007. 11:44 ] @
..par saveta.Ne koristite Robot klasu vec AdvancedRobot.Tako imate pristup metodama setTurnRight,setAhead .... (procitajte help i videcete zasto).
Posle poziva tih f-ja koristite execute() (obavezno). Napravite pomocnu klasu koja ce da vam cuva podatke o robotu koga vidite na radaru (x,y,rastojanje,i kuda se uputio...) i pucajte na osnovu podataka iz te klase. Dalje, kod skeniranja--ne jurite bilo kog neprijatelja--samo one blizu vas (opasni su po vas) i one sa vrlo malom energijom (bolje vi da ih ubijete nego neko drugi). UVEK pozicionirajte svog tenkica po pravim uglom u odnosu na neprijatelja ! ! ! (inace nema snse da izbegnete metak).
uostalom codepoet (izguglajte ovaj sajt) ima interesantne tutorijale. Cak sam i mejlom pricao sa vlasnikom sajta i dao mi je par ideja kako da popravim mog robota.Imate MNOGO dobre tutorijale tamo !
...ps---stara sveska iz matematike (trigonometrije) je spas :)
ako treba jos neki tip pitajte :)
ps2--- meni treba neka literatura o paternima i algoritmima kretanja pa ako imate nesto lepo okacite
POZ
[ Ekskalibur @ 20.03.2007. 21:02 ] @
Ja sam nov u ovome i mogu da vam kazem da je stvar odlicna!!!
Pre dva dana sam skinuo robocode sa neta i posle instalacije bio totalno odusevljen!!!
Posto vodim da tu ima dosta veterana sto se tice ovih tenkovskih bitaka interesuje me
preko koje funkcije mogu da postignem da moj robotic nikada ne udara uzid!
Da li postoji funkcija pomocu koje on zna svoje odstojanje od zida?
Takodje me interesuje koliku maksimalnu distancu moze robotic da predje za jedan turn?
U kom opsegu se krece intenzitet metka (video sam i manje i vece kuglice)?
Molim vas pomozite mi!
HVALA UNAPRED!!!!
[ zigizig @ 05.04.2007. 09:25 ] @
I ja sam pre par dana naleteo na Robocode i oduševio se.
Ono što meni dosta olakšava je što sam u netbeans ubacio javadoc iz Robocode tako da kada kucam metodu odmah dobijem izbor i opise metoda.
Takođe sam sa DJdecompiler odradio par najjačih tenkića i oduševio se kad sam video kod i šta su ljudi sve pravili (naročito Phoenix?? tenkić).
Počeo sam da eksperimentišem ali čitajući tutorijale biće dosta posla dok se ne napravi neki koji valja (nisam baš za prepravljanje postojećih jer nije ni fora mada dobra rešenja treba upotrebiti  .
A i moraću ponovo da se bacim na trigonometriju he he
[ rokiikor @ 05.06.2007. 19:59 ] @
Tijekom ovog semestra imao sam prilike raditi sa stvarnim robotom IntelliBrain-bot-om koji se isto programira u Javi. I bilo je poprilicno komplicirano zbog uvjeta koji nisu idealni. Cim ugrabim slobodnog vremena pozabavit cu se sa ovim imaginarnim roboticima.
[ Informaticar @ 06.01.2008. 19:36 ] @
Skinem ja robocode i udjem u robot editor i sve lepo ali kada ga kompajlujem on mi izbaci ovaj error:
Compiling...
C:\robocode\robots\sample\MyFirstRobot.java:12: cannot access robocode.Robot
bad class file: libs\robocode.jar(robocode/Robot.class)
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class MyFirstRobot extends Robot {
^
1 error
Compile Failed (1)
Ovo sam kompajlovao onog robota u sample MyFirstRobot
Molim vas pomagajte.....
Skinuo sam Java 2 SDK....
I jos nesto ma da se ovo bas i ne tice ove teme ali zasto mi izbacuje error hocu ovo da kompajlujem:
Code:
public class MainClass
{
public static void main( String args[] )
{
GradeBook myGradeBook = new GradeBook();
String courseName = "Java ";
myGradeBook.displayMessage( courseName );
}
}
class GradeBook
{
public void displayMessage( String courseName )
{
System.out.printf( "Welcome to the grade book for\n%s!\n",
courseName );
}
}
nece to printf.... a System.out.println radi lepo
[ Informaticar @ 07.01.2008. 19:37 ] @
Ne treba vise pomoc posto sam izguglao i imao sam verziju 1.4.2_16 jave sto nije dosta ali sam onda resetovao kompajler u robocode editor i postavio njihov (onaj sto dolazi zajedno sa programom) i sve lepo radi
A i za ovaj drugi problem je zasluzna slaba verzija jave
[ marendo93 @ 01.04.2008. 12:40 ] @
Hahahaha, odusevio sam se kada sam procitao temu, evo downloadujem igru pa ce mo videti....
[ marendo93 @ 04.04.2008. 20:18 ] @
Napravio sam svog bota (skoro  ostale su mi jos sitnice ). Ali mislim da je jako vazno prilikom projektovanja jednog uzeti u obzir realnu brzinu kojom bi mogao da se izvrsi vas kod (jer, na primer, sam pokretacki kod Robocoda vrlo cesto izostavi neku naredbu jer je prezauzet eventima...) tako da je velika verovatnoca da ce pobediti robot sa prostim robustnim kodom koji ce se brze izvrsavati jer ce njegova run() funkcija vise puta pozvati od te iste funkcije robota sa komplikovanijim kodom.
Hteo sam da pitam, je li ova tema jos uvek "ziva" i da li ce biti takmicenja?
[ franticnick @ 04.04.2008. 21:49 ] @
Je li neko probao: http://jrobots.sourceforge.net/
Liga je aktivna vec godinama i svakog meseca se update-uje lista.
Tu je i online arena: http://jrobots.sourceforge.net/jjr_match.shtml koga zanima da vidi kako izgledaju borbe.
[ trail @ 18.06.2008. 14:23 ] @
za one koji koriste eclipse, evo kako se podesava da Robocode radi iz eclipsa:
1. Creating a Project for your Robots
http://testwiki.roborumble.org...ocode/Eclipse/Create_a_Project
2. Creating a Robot in Eclipse
http://testwiki.roborumble.org...obocode/Eclipse/Create_a_Robot
3. Running your robot from Eclipse
http://testwiki.roborumble.org...=Robocode/Running_from_Eclipse
4. Adding your Robot Project to Robocode
http://testwiki.roborumble.org...e=Robocode/Add_a_Robot_Project
Pratite redom linkove da ne propustite neki korak.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|