Robocode – Guerra Virtuale

Nelle battaglie tra robot programmati in Robocode si impara Java a colpi di cannone! xD

Robocode Logo

Se ne parla molto e oramai ha appassionato tutto il mondo, ma che cos’è questo Robocode?
Robocode è un simulatore di battaglia tra robot lanciato dall’IBM qualche anno fa. Ci permette di creare il nostro robot, metterlo su un campo di battaglia e farlo combattere contro gli avversari creati da altri programmatori.

E’ facile da utilizzare e può essere installato su tutte le pittaforme che supportano Java 2 (quindi Windws – Linux – Mac)
Ma oltre ad essere pratico e divertente, ha un altro scopo veramente importante che è quello di insegnare il linguaggio java.
Invece di svolgere i soliti normalissimi programmi per apprendere la programmazione (come i front-end per i database per esempio), con Robocode possiamo creare un cervello al nostro robot virtuale e infondergli tutta l’intelligenza che possiamo.

E’ ideale sia per i programmatori alle prime armi che per quelli più esperti: i primo potranno imparare le conoscenze di base mentre gli altri potranno testare i diversi algoritmi con lo scopo di migliorare e rendere imbattibile il proprio robot….ma soprattutto per sconfiggere tutti gli avversari!

Installiamolo…
Vediamo l’utilizzo di Robocode. Innanzitutto dobbiamo scaricare il package di installazione che troviamo sul sito ufficiale http://robocode.sf.net e lanciare, se necessario, il comando

java -jar robocode-setup-1.5.3.jar

per installare il programma (a seconda del computer potrebbe bastare anche un solo doppio clic). Ovviamente dovete adattare il nome del file .jar alla versione che avete scaricato.

Una volta terminato, saremo pronti a utilizzarlo.
All’avvio del software, comparirà un campo di battaglia con in corso una partita demo tra 2 robot che ci serviranno come esempio. Il cosiddetto campo ospita il motore di simulazione e permette di creare nuove battaglie scegliendo alcuni dei robot presenti nella directory o in alternativa possiamo scaricarne altri online.

Troviamo poi l’editor formato da un normale editor di testo con sintassi colorata, più comprensibile, per modificare il sorgente.
Una volta terminata la compilazione dei robot, essi sono pronti per essere inseriti sul campo di battaglia e non ci resta di sperare di aver fatto un buon lavoro!

Per capire meglio come creare un buon robot, non ci resta che analizzare da cosa è formato.
Ogni macchina è costituita da 3 elementi che ruotano e possono muoversi indipendentemente gli uni dagli altri: la base, la torretta (con il cannone) e il radar.

A inizio battaglia, tutti i robot hanno un livello di energia di 100 punti e oghni volta che viene colpito o urtato perde una quantità di energia.

Prima di tuffarci a creare il nostro robot, diamo un’occhiata a principali comandi di movimento che ci torneranno utili per cominciare la nostra battaglia.

turnRight(double degree)
turnLeft(double degree)

per girare a destra o a sinistra tutto il robot.

ahead(double distance)
back(double distance)

muovono il robot avanti o indietro di un certo numero di pixel

turnGunRight(double degree)
turnGunRight(double degree)

ruotano la torretta a destra o sinistra

turnRadarRight(double degree)
turnRadarRight(double degree)

ruotano il radar

ECCO UN ESEMPIO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package NomeClasse;
 
import robocode.*;
 
/**
Nome del tuo robot e altri commenti dell'autore
*/
public class TuoRobot extends Robot {
    /* ZONA 1 */
    /** metodo che viene utilizzato per gestire completamente il robot */
 
    public void run() {
        /* ZONA 2 */
        while(true) {
           /* ZONA 3 /
        }
    }
 
    /* ZONA 4 */
    /** Metodo richiamato quando viene avvistato un altro robot */
    public void onScannedRobot (ScannedRobotEvent e) {
        fire(1);
    }
 
 
}//chiusura della classe

Più complesso sarà il vostro robot e più avrete possibilità di vittoria.
Disponibile per questo linguaggio:
- News for Robocode
- Changes – Details about diffrent versions of Robocode
- Project at SourceForge
- Download Robocode
- Java 5.0 or newer is required for running Robocode
- Getting started with Robocode
- FAQ – Frequently Asked Questions about Robocode
- Forums for technical issues and feedback on Robocode
- Request a new feature for Robocode
- Report a bug in Robocode
- Contact the administrator of Robocode

- Online Help – RoboWiki – Introduction and tutorials for Robocode
- Robocode API – the Robot API and API for controlling Robocode
- Developers Guide for building Robocode using Eclipse

Condividi questo articolo:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl
Condividi la notizia su Facebook e Twitter. Grazie Mille!

Articoli popolari:

  • Filmati Flash (.flv) nel tuo sito web
    Social network, blog, cms e forum. Le applicazioni web sono sempre più utilizzate dagli utenti che spesso vogliono condividere immagini e video nel loro spazio internet. In molti casi si tratta di sc...
  • Socket in Java e semplice chat
    Affrontiamo i socket nel linguaggio Java creando una semplice chat compatibile con tutti i sistemi operativi dotati di JVM. Questo articolo inoltre offre una breve panoramica delle applicazioni di ret...
  • Attacco ai siti web su Aruba, strano security_update e codice cifrato
    Molti siti web in hosting presso i server di Aruba sono stati infettati, nei giorni scorsi, da un malware (fortunatamente) innocuo per i visitatori, ma "nocivo" per i webmasters. Questo episodio ...
  • Twitter insegue il successo di Facebook
    Twitter insegue il successo di Facebook, proponendo un servizio di microblogging facile e intuitivo! Con Twitter puoi pubblicare brevi messaggi di testo, che potranno essere letti da chiunque conosca ...
  • Aumentare la sicurezza con i file .htaccess
    I file .htaccess vengono interpretati dal server web prima di richiamare la pagina richiesta dall'utente. E' possibile, quindi, controllare le richieste prima di trasferirle allo script lato server. ...
  • Introduzione a PHP 5
    Gli appassionati e le persone che lavorano con PHP, conoscono bene le sue potenzialità. Javascript, Vbscript o HTML non permettono di creare pagine complesse e dinamiche, che rispondono alle richieste...

Un commento a “Robocode – Guerra Virtuale”

Salve, questo è un commento di prova.

Scrivi un commento:

Name (required):
Mail (will not be published) (required):
Website:
Comment (required):
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">