Longobard
написал 9 сентября 2005 года в 23:46 (1079 просмотров)
Ведет себя
как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.
http://robocode.sourceforge.net/
собсно сабж.
Ни у кого нет желания посоревноваться? ;)
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

угу, только сегодня в аську заслали:
Не вопрос!
итак, на след. выходных обмениваемся результатами.
P.S.: ессно можно спереть чужого бота (найти в инете хорошую реализацию и переименовать :) ). Но давайте все же будем честными, ок? ;)
Не уверен, что до следующих сделаю. Работы много, я пока толко скачал. Но как только так сразу.
ок
Я тоже только начал, вот вчера на паре по инфе сочинял на бумажке стратегию, по которой должен работать идеальный бот.
сочинил? ;)
прикольно :)))
Вот такой робот телепортуется:
package test; import robocode.*; //import java.awt.Color; /** * TestRobot - a robot by (your name here) */ public class TestRobot extends Robot { public boolean kill_moving = false; public boolean kill_rotating = false; /** * run: TestRobot's default behavior */ class Rotation extends Thread { TestRobot r; Rotation (TestRobot r) { this.r = r; } public void run () { out.println ("Hi."); while (!r.kill_rotating) { out.println ("Rotating..."); r.turnLeft (360 * (Math.random () - .5)); } } } class Moving extends Thread { TestRobot r; Moving (TestRobot r) { this.r = r; } public void run () { out.println ("Hi."); while (!r.kill_moving) { out.println ("Moving..."); r.ahead (100); r.back (100); } } } public void run() { Rotation r = new Rotation (this); Moving m = new Moving (this); r.start (); m.start (); while(true) { try { wait (10); } catch (Throwable o) { try { kill_moving = kill_rotating = true; r.join (); m.join (); } catch (Throwable t) { return; } return; } } } /** * 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()); } }Но чего то мне не понять механизма действия телепорта. Написано ж в RobotPeer.java:
if (Thread.currentThread() != robotThreadManager.getRunThread()) { throw new RobotException("You cannot take action in this thread!"); }Понял… Ни фига не телепортуется. Просто раунд завершается из-за этого исключения и начинается новый.