Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Robocode tankilahing - mäng Java õppimiseks märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 02.10.2008 17:54:32 Robocode tankilahing - mäng Java õppimiseks vasta tsitaadiga



Sai hiljuti sellise huvitava mänguga Java õppimise eesmärgil tutvust tehtud ja peab ütlema, et asi on täitsa huvitav ning annab hea motivatsiooni koodi kirjutamiseks ning erinevate funktsioonide uurimiseks. Vaikselt olen oma lõbuks asjaga tegelenud ning nüüd juba saab mu aretatud elukas mõnele asjale pihta ka thumbs_up.gif icon_biggrin.gif Kuna siin foorumis on pidevalt küsitud, mis keelega oleks kõige parem programmeerimise õppimist alustada, siis minu arvates on Java selleks vägagi sobiv variant, eriti veel kui on olemas selline mäng, kus oma oskusi ning teadmisi pidevalt täiendada saab.

Link: http://robocode.sourceforge.net/

Tutvustus:

tsitaat:
Robocode is an Open Source educational game started by Mathew Nelson (originally provided by IBM). Currently contributions are being made by various people; officially Flemming N. Larsen is working on Robocode to keep it current and fix the bugs. The game is designed to help people learn to program in Java and enjoy the experience. It is very easy to start - a simple robot can be written in just a few minutes - but perfecting a bot can take months or more.

Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots move, shoot at each other, scan for each other, and hit the walls (or other robots) if they aren't careful. Though the idea of this "game" may seem simple, the actual strategy needed to win is not. Good robots can have thousands of lines in their code dedicated to strategy. Some of the more successful robots use techniques such as statistical analysis and attempts at neural networks in their designs.
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 02.10.2008 18:45:29 vasta tsitaadiga

Olen ka umbes kuu aega tegelenud sellega. Päris huvitavaid funktsioone olen jõudnud valmis kirjutada. Näiteks on võimalik määrata areenil mingi kindel ala, kus piirides tank randomiga sõitma hakkab, suhteliselt raske on isegi 1vs1 maailmameistril (Shadow) sellisele liikumisele pihta saada, kuna seda ei anna ennustada... Praegu tegelen funktsiooniga, mis ütleb vastase koordinaadid tema kauguse ja radari pöördenurga järgi.

Aga üks haige asi, mis ma tähele olen pannud, on see, et X ja Y koordinaadid on valetpidi... X on vertikaal ja Y horisontaal.

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 02.10.2008 18:46:45 vasta tsitaadiga

manuaalselt remappida ei saa neid ?
sisendi ja väljundi juures mõtlen
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 02.10.2008 18:49:28 vasta tsitaadiga

Kui räägid koordinaatidest, siis saab küll. X = getY; ja Y = getX; Siiski suutsin ma mitu tundi jännata ühe keerulise trigonomeetriat täis funktsiooniga otsides buge, enne kui taipasin X ja Y teljestikku kontrollida..
_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 02.10.2008 18:52:24 vasta tsitaadiga

eks ta ajab jah juhtme kokku enne kui välja jagad thumbs_up.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 02.10.2008 19:04:18 vasta tsitaadiga

Otsustasin teha katse praegu ja tundub, et eksisin, mitte X Y polnud tagurpidi, vaid mul olid nad ilmselt funktsiooni tõmmatud tagurpidi. Nimelt oli raske otse kontrollida, kuna output window'i ei ilmunud ühtegi teadet, mitte vähemalt enne, kui avastasin, et igal tankil on oma output window paremasse äärde ära peidetud. Aga jah, koordinaadid on õigetpidi ikka. Kui hunnik funktsioone üksteisega läbi põimida ja kuskil nagu silmnähtavalt numbreid kontrollida ei saa, siis ajab juhtme kokku küll.

Sorry, et siin tolmu üles ajan. icon_biggrin.gif
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 02.10.2008 19:37:22 vasta tsitaadiga

Bluebull kirjutas:
Nimelt oli raske otse kontrollida, kuna output window'i ei ilmunud ühtegi teadet, mitte vähemalt enne, kui avastasin, et igal tankil on oma output window paremasse äärde ära peidetud. Aga jah, koordinaadid on õigetpidi ikka. Kui hunnik funktsioone üksteisega läbi põimida ja kuskil nagu silmnähtavalt numbreid kontrollida ei saa, siis ajab juhtme kokku küll.

Mul oli sama jama, kui proovisin seinte vältimiseks koodijuppi valmis kirjutada, pidevalt sõitis ikka seina ja tegi muid imetrikke.

Bluebull kirjutas:
...1vs1 maailmameistril (Shadow) ...

Hmm, mul sellist masinat polegi veel arvutis, peab selle ka alla sikutama. Mul kõige tegijam 1v1 bot Dookius hetkel, kes siiani kõigile teistele suht kindlalt ära teinud.
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 03.10.2008 16:07:05 vasta tsitaadiga

Oleks aega näpiks ka. Idee tundub huvitav.
Kes siin rohkem tegelenud on.. kas nii ka saab, et a'la et kaks sõpra teevad oma AI tankile ja lasevad mõlemad tankid üksteise vastu võitlema?
Nagu 1 vs 1
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.10.2008 16:08:04 vasta tsitaadiga

see vist üks idee ongi ju ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 03.10.2008 16:40:59 vasta tsitaadiga

a, ok, sain algul aru, et see teised tankid on mingid fixed tankid vms- Usutavasti olen ome küsimusele vastuse saanud
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 17.10.2008 16:10:04 vasta tsitaadiga


Link

Väike demo ka mu meistriteosest. :p
liikuvale objektile veel pihta ei saa, st ennustada ei oska.
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 18.10.2008 21:41:15 vasta tsitaadiga


Link

Minu robot vs. Walls siis. Kuigi sellest ja teistest sample bot'idest saab ilusti jagu, siis arenguruumi on veel küllaga.
Bluebull sa oma robotit kuskile üles ei taha laadida? Saaks omavahel ka siis sõbralikult pisut mõõtu võtta icon_smile.gif
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 28.10.2008 15:22:47 vasta tsitaadiga

Keegi siin linuxile ka peale installind on seda?
ubuntule näiteks.

oleks abi vaja -> https://foorum.hinnavaatlus.ee/viewtopic.php?p=4728669#4728669
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
mihkelv
HV kasutaja

liitunud: 25.02.2004




sõnum 28.10.2008 15:31:54 vasta tsitaadiga

Debian lenny-le installeerus probleemideta. Javaks on Suni 1.6-07-4
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 28.10.2008 16:29:03 vasta tsitaadiga

iceincube kirjutas:
Keegi siin linuxile ka peale installind on seda?
ubuntule näiteks.

Ise panin selle Fedorale peale ja mingisuguseid probleeme küll ei esinenud. Ubuntu puhul paraku ei oska aidata.
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 28.10.2008 22:04:22 vasta tsitaadiga

korras..
Javat tuli näppida.. st konfida vähe

-- edit --

ongi kuradi addictive see asi, ehk saab nüüd kunagi mingi mõistusliku strateegiaga tanki luua..
icon_razz.gif
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 30.10.2008 14:39:55 vasta tsitaadiga

aatomik kirjutas:
Bluebull sa oma robotit kuskile üles ei taha laadida? Saaks omavahel ka siis sõbralikult pisut mõõtu võtta icon_smile.gif


No versioon 1.0. Vastase movement ennustamise teen täielikult uuesti hiljem
http://rapidshare.com/files/158970848/_PACKAGE.bluebull_1.0.jar.html
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 30.10.2008 16:08:31 vasta tsitaadiga

Hehe, pidasin siin siis väikese titaanide heitluse maha icon_biggrin.gif Su robotile on jah päris raske pihta saada, siblib teine ringi mis hirmus. Panen oma tanki ka siia välja, kes tahab saab katsetada: aatomik.V2ikePahalane_1.0.jar

Võrreldes varasema robotiga kasutan nüüd lukustuvat radarit ja muutsin natuke kuuli tulistamisvõimsuse algoritmi. Plaanis on "wall smoothing" ka sinna sisse pookida, aga hetkel natuke vähe aega olnud, et seda lõpuni valmis meisterdada.

Edit: tõstsin faili rapidshare'i ümber.


viimati muutis aatomik 30.10.2008 16:29:54, muudetud 2 korda
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 30.10.2008 16:13:48 vasta tsitaadiga

hea et avastasin kähku et advenced robot-i klassi on mõttekam kasutada..
Alguses sügasin päris pikalt pead, et wtf , nii on võimatu teha midagi ..
a siis natuke uurides teiste koode leidsin selle asja..

Enivei, kahju, et aega nõudev asi on.
Ilgelt huvitav icon_biggrin.gif viimased päevad peale keskööd ennast mitu korda unustanud ligi kella neljani uurima/pusima ..

Ja tõesti hea.. pean JAVA-t ka selle käigus õppima...
mis veel ägedam, peab trigonomeetria ka nüüd meelde tuletama.. kuna oleks vaja juba midagi ägedamat looma hakata..
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 30.10.2008 16:23:45 vasta tsitaadiga

aatomik, jaga videot ka icon_smile.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 30.10.2008 20:30:19 vasta tsitaadiga

Tegin ka 10 raundi nende vahel, jube häbi hakkas enda roboti pärast. Vajab kõvasti täiendamist.. icon_biggrin.gif
Aga lükkasin su roboti abc.shadow'iga kokku ja avastasin, et su robotil on natuke liiga ühtepidi liikumine. See tähendab, et shadow ennustas u. 60%-80% ajast õigesti, kuhu ta laskma peab. Jube kiiresti said raundid läbi.

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 01.11.2008 04:53:53 vasta tsitaadiga

aatomik,
su victory tants on tglt päris äge ...
algul mõtlesin ,et lihtsalt random liikumisel tekkind teema, kuid ta teeb ju seda alati :p
Eriti mõnitav tank icon_biggrin.gif

btw : tegelen ta defatimisega hetkel.. 8)
-EDIT-
-krt, sul hea radari asi tglt.. ilusti fokuseeritud samas ei ole liiga lai area kaetud.. thumbs_up.gif
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
aatomik
HV kasutaja
aatomik

liitunud: 30.11.2005




sõnum 08.11.2008 13:38:28 vasta tsitaadiga

Bluebull kirjutas:
Aga lükkasin su roboti abc.shadow'iga kokku ja avastasin, et su robotil on natuke liiga ühtepidi liikumine. See tähendab, et shadow ennustas u. 60%-80% ajast õigesti, kuhu ta laskma peab. Jube kiiresti said raundid läbi.

Ma vastase kuulide eest põiklemisele eriti veel aega pühendanud pole, praegult on jah liikumine üsna kergesti ettearvatav. Kusjuures panin su tanki ka shadowiga kokku ja kuna su masina liikumine on suht "random", siis talle on juba palju raskem pihta saada.
iceincube kirjutas:
su victory tants on tglt päris äge ...
algul mõtlesin ,et lihtsalt random liikumisel tekkind teema, kuid ta teeb ju seda alati :p
Eriti mõnitav tank icon_biggrin.gif

Väike võidutants sai sinna külge poogitud jah, see praktiliselt sama, mida sample tankidest Tracker kasutab icon_biggrin.gif

Edit:

Aretasin oma masinale nüüd sellise lihtsama kuulide eest põiklemise funktsiooni ka külge. Probleem, millele aga lehendust pole veel leidnud on vastase kuuli asukoha kindlaks tegemine. Kood ise on järgmine:
java:
  1. public void dodge(ScannedRobotEvent e) {
  2.         double changeInEnergy = previousEnergy-e.getEnergy();
  3.         if (changeInEnergy > 0 && changeInEnergy <= 3) {
  4.             moveDirection = -moveDirection;
  5.             setAhead((e.getDistance()/4+25)*moveDirection);
  6.             }
  7.         previousEnergy = e.getEnergy();
  8.     }
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
dsg
HV kasutaja
dsg

liitunud: 15.07.2007




sõnum 14.11.2008 21:42:07 vasta tsitaadiga

Keegi teab miks mul java crashib pooltel kordadel kui ma peale roboti muutmist seda complier testi teen? Hetkel ei sa eriti aru kuidas asi toimib ka muidu aga midagi hakkab koitma loen vaikselt õpetusi ja proovin aga väga häiriv on see kokku jooksmine. Pole varem javaga kokku puutunud aga ilmselt pean mingi raamatu kätte võtma ja otsast lugema hakkama.Tulevikus võib koolis sellest kasu ka olla.
Kommentaarid: 23 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 14.11.2008 21:43:09 vasta tsitaadiga

Kui koolis programmeerimis tuleb, siis on kindlasti kasu thumbs_up.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Robocode tankilahing - mäng Java õppimiseks mine lehele 1, 2  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.