Поради спецификата на играта, вероятността неспециалист (тоест, непрограмист
) да прояви интерес към нея клони към нула, затова няма да пестя термините. Накратко:
Същност: Заглавието би трябвало да си казва всичко, но за неспециалистите и онези, които не могат да разшифроват телеграфичния ми стил: Свръхстилизирана игра с танкове, като играчът не управлява пряко танка, а пише програма, която контролира движението и стрелбата – един вид ИИ. Подробности — по-долу.
Сайт: robocode.sourceforge.net (има и статия за нея в Уикипедия)
Авторски права: Свободна (Common Public License; щях да се радвам повече, ако беше GNU GPL)
Платформа: Java (всяка ОС за PC, на която може да се инсталира JRE 1.5 и нагоре)
Размер: ~7 MB в разархивиран вид; идва в JAR архив ~3 MB (разбира се, отделно може да се изтегли и изходния код)
Битките изглеждат ето така:

(това е най-малкия възможен размер “бойно поле” – 400×400 пиксела, ботовете са част от демонстрационните, които идват с инсталацията)
Мултиплейър: Няма възможност за игра в мрежа, но танковете могат да се пакетират, така че с помощта на някакъв вид пренос на данни (e-mail, IM, memory stick…) можете да си спретнете съревнования с ботовете на приятелчетата. Хранилището съдържа адски много чужди танкове. Има и организирани състезания с класация, както и отделни задачи/предизвикателства.
Най-елементарния код на бот (генерираното по подразбиране съдържание при New » Robot, със зададени моя псевдоним и име на робот):
package daggerstab;
import robocode.*;
//import java.awt.Color;
/**
* MainGauche - a robot by (your name here)
*/
public class MainGauche extends Robot
{
/**
* run: MainGauche's default behavior
*/
public void run() {
// After trying out your robot, try uncommenting the import at the top,
// and the next line:
//setColors(Color.red,Color.blue,Color.green);
while(true) {
// Replace the next 4 lines with any behavior you would like
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
/**
* onScannedRobot: What to do when you see another robot
*/
public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
}
/**
* onHitByBullet: What to do when you're hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
}
Все още съм в процес на разучаване на играта, но дори и след това, при времето, което мога да ̀и отделя, представянето на танковете ми ще е на нивото на експортна версия на T-55 в ръцете на арабски танкист.
Все пак нямам нищо против да премеря сили с други хора на моето ниво.
Ако някой иска повече информация – сайта на играта или коментарите тук.




