Robocode - cviceni 1

(pocta Karolovi a Zofke)

Zpatky na "Experiment Robocode"

Tema cviceni

Cilem cviceni je seznamit se s hrou Robocode, naucit se pouzivat JavaDoc a zopakovat si zakladni algoritmizacni techniky - praci s promennymi, cykly, vetveni a volani metod.


Ukazkovy priklad

Postup vytvoreni noveho robota

V hlavnim okne aplikace vyberte z horniho menu Robot a polozku Editor. Otevre se okno editoru. V tomto okne vyberte File > New > Robot.
Budete pak vyzvani k napsani jmena robota (to bude nazev tridy a nazev souboru) a vasi prezyvky (to bude javovsky balik, v kterem se bude robot nachazet).
Pak se otevre okno s preddefinovanym jednoduchym zdrojovym kodem noveho robota.

Priklad robota

Robot z tohoto ukazkoveho robota chodi do ctverce o strane s velikosti 100 a strili silou 1, kdyz spatri nepritele.
Zkuste u svyho nove vytvorenyho robota vymenit obsah metody run() za cervene oznaceny kod. Vas robot by mel zacit chodit do ctverce:).

package svihlm1;
import robocode.*;


/**
 * MujCtverec - robot chodi do ctverce a strili silou 1, kdyz neco vidi
 */
public class MujCtverec extends Robot
{
	/**
	 * run: zakladni chovani robota
	 */
	public void run() {

		while(true) {
			ahead(100);
			turnRight(90);
		}

	}
	/**
	 * onScannedRobot: co delat kdyz je spatren nepritel
	 */
	public void onScannedRobot(ScannedRobotEvent e) {
		fire(1);
	}

}

Kompilovani robota

Pred pouzitim musi byt robot skompilovan. To udelate v editoru, kdyz z horniho menu zvolite Compiler a polozku Compile. Jestli v robotovi nemate zadnou chybu, kompiler zahlasi

Compiling...
Compiled successfully.
a muzete robota pustit do areny.

Testovani robota v arene

V hlavnim oknu aplikace zvolte z horniho menu Battle, pak New. Se seznamu robotu vyberte svyho robota, pripadne nejakeho oponenta z rad tech preddefinovanych.
Start battle.


Zadani pro samostatnou praci

Vytvorte robota, ktery bude chodit do ctverce tam a zpatky (vid. obrazek, opakuji se pohyby 1 a 2). Strana ctverce bude velka jako 1/10 sirky areny.
Kdyz robot spatri nepritele vystreli na nej.

Modifikace:

  1. Kdyz robot spatri nepritele, podle vzdalenosti se rozhodne o sile vystrelu. Do vzdalenosti 50 vystreli silou 2, jinak silou 1.
  2. Skuste na zacatku natocit robota tak, aby ctverce jeho pohybu byly rovnobezne se stenami areny.
  3. Kdyz napisete vlastni reseni problemu, zkuste se podivat na moje poznamky a (jestli to jde) zkuste zlepsit svoji implementaci.


Napoveda


Zpatky na "Experiment Robocode"