Robocode - cviceni 3

(uhel pohledu)

Zpatky na "Experiment Robocode"

Tema cviceni

Cilem cviceni je naucit se ovladat jednotlive casti robota. Pracovat se bude s uhlami a taky trochu s udalostmi.


Zadani pro samostatnou praci

Nechte robota bez pohybu a otacejte jenom jeho radar dokola o 360 stupnu. Kdyz spatrite nepritele, otocte hlaven kanonu (ne celeho robota) k nepriteli a vystrelte.

Napoveda je opet mizerni, takze to zustava tak trochu na vas. Rozhodne vsak kdyz toto zvladnete, tak budete vedet kompletne ovladat jednoducheho robota (zdedeneho z tridy Robot) a pak budete pracovat uz jen so svoji fantazii na taktice vaseho stroje:).

Modifikace:

  1. Pomoci metod z cviceni 2 poslete nejdrive robota do nektereho z rohu areny a pak nechte radar, at se toci a hlaven at strili.
  2. Kdyz budete v tom rohu, nemusite tocit radar kolem dokola, ale jenom tam a zpatky v tech 90 stupnech, kde je arena a tudiz i nepratele.


Napoveda

Tri casti a co s nimi

Robot je zlozen z tri casti: podvozek, hlaven a radar (jmenovane zdola nahor). Kdyz necim tocite, otaceji se i casti nad tim (to je zakladni chovani, ktere se da zmenit). Kazdopadne kdyz tocite necim nahore, to dolu se nehybe.
Trik je v tom, ze cim vyse je cast, tim se toci rychleji. Tak muzete v okamihu otocit radarem o 360 stupnu (turnRadarLeft(360)), mnohem rychleji nez by jste otocil cely tank.

A co na to uhly?

Absolutni nasmerovani robota vzhledem k severu zjistite pomoci getHeading(). Analogicky se da zjistit smer radaru nebo kanonu. Kdyz neco spatrite, metoda onScannedRobot(ScannedRobotEvent e) vrati ScannedRobotEvent, z ktere se da pomoci getBearing() vycist relativni uhel spatreneho robota vuci nasemu headingu.
Vic snad na tuto temu Robocode Javadoc.


Napoveda


Zpatky na "Experiment Robocode"