robocodeしよう!

このエントリーをはてなブックマークに追加
1名無しの戦車
robocodeという戦車をプログラムして戦わせる環境があります。
http://robocode.alphaworks.ibm.com/home/home.html
Javaだけど簡単。戦車できたら書き込んで!
2仕様書無しさん:02/04/12 13:11
2
3仕様書無しさん:02/04/12 13:13
          _ /⌒\
         / / ̄ ̄ ̄ ̄ ̄ ̄\      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         |/             \  <  今ムック殺してきた。リアルで。
         /   ∠,,_ノ ソ _ ,,.. _)   \_____________
        /|  '',,((ノ )   ノ (\)  |
        | |     ̄'      ̄ イ   ハァ ハァ
        \| υ     、_/ロロロ)_ ノ
        /         ̄ ̄  \
        /|    υ          \
        ( .|    /  ノ ̄ ̄ ̄)  ノ  \
       ヽ.|◯  |   ノ ̄ ̄ ̄)  /\ ○\
       /.|  o .|  ノ ̄ ̄ ̄) /  \ o゚ \
4仕様書無しさん:02/04/12 13:18
ガチャピンかよっ!
5仕様書無しさん:02/04/12 13:22
    Λ_Λ!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
__( ;´Д`)__< ネ、ネタかっ…!
|  〃( つ つ   |  \_______
|\ ⌒⌒⌒⌒⌒⌒\
|  \           \
\  |⌒⌒⌒⌒⌒⌒|
  \ |______|
6仕様書無しさん:02/04/12 13:24
>>1
英語かよ......
7仕様書無しさん:02/04/12 13:30
>>3
くるくる回ってムックを探すガチャピン戦車

package ponkikki;
import robocode.*;
public class Gacyapin extends Robot
{
public void run() {
while(true) {
turnGunRight(360);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(3);
}
}
8仕様書無しさん:02/04/12 13:36
9仕様書無しさん:02/04/24 14:51
Robocodeスレあったのか。気がつかなかったよ。ageとこ。
10仕様書無しさん:02/04/24 15:04
良スレだな。
11仕様書無しさん:02/04/24 15:38
おもしれーけど
どこをどういじればよいのやら・・・・
12仕様書無しさん:02/04/24 19:26
>>11
http://robocode.alphaworks.ibm.com/docs/robocode/index.html
RobocodeのAPIのJavadocはここにあるよ。英語だけど。
もっとも最初のうちはサンプルロボットのソースと動きを見るのがいいと思うけど。
13仕様書無しさん:02/04/25 04:50
よーしパパRobocodeコピペしちゃうぞー

package itteyoshi;
import robocode.*;
public class Hexagon extends Robot {
public void run() {
while(true) {
ahead(360);
turnRight(60);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(3);
}
public void onHitByBullet(HitByBulletEvent e) {
back(60);
}
}
14仕様書無しさん:02/04/25 19:16
永遠のあげ
15仕様書無しさん:02/04/25 20:10
昔々、PC-9801にあったオメガってソフトに似てますな
アレは独自言語でしたが
16仕様書無しさん:02/04/25 20:12
前後に動きながら周りをきょろきょろ見回すロボット。

package itteyoshi;
import robocode.*;
public class Restless extends AdvancedRobot
{
public void run() {
while(true) {
setTurnGunRight(1800);
ahead(60 + 360 * Math.random());
setTurnGunLeft(1800);
back(60 + 360 * Math.random());
}
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(1.5);
}
public void onHitByBullet(HitByBulletEvent e) {
double bearing = e.getBearing();
double angle;
if (0.0 <= bearing) {
angle = bearing - 90;
} else {
angle = bearing + 90;
}
turnRight(angle);
}
}
17仕様書無しさん:02/04/26 13:20
面白そうだね。
だけど、マ板で良いの?
18仕様書無しさん:02/04/26 15:33
>>17
たしかにム板向きの気がしる…
ム板には.NETのTerrariumのスレが結構な勢いで伸びてるし。
でもとりあえずはスレがないと話にならないしな〜。
19仕様書無しさん:02/04/26 16:05
スクリーンショット載せてる所から拝借
http://www.cool.giti.waseda.ac.jp/~acdc/robocode.html

これってモデルのデータ変えれないのかな?ロボットていうか戦車じゃん。
中途半端に終わらせたくないゲームだなぁ。
20仕様書無しさん:02/04/26 17:26
java.exe - ディスクがありません

× ドライブにディスクがありません。ディスクをドライブ\Device\Harddisk\DR3に挿入してください。

キャンセル 再実行(T) 実行(C)

ってファイルを開くたびにエラーが出るのですが原因はなんでしょうか?
エラーが出てもファイルは開けます。バグですかね?

21仕様書無しさん:02/04/26 17:31
ファイルって何ですか?
Battle→Openの時ですか?それともRobocode本体の事ですか?
どちらにしてもウチではエラー出ませんよ。
22仕様書無しさん:02/04/26 18:01
>>20
Robocodeは日本ではまだまだですが
欧米では大勢の人が数カ月前からプレイしているので
バグは例えあったとしても少ないと思いますよ。
Java2SDK(v1.3以上)はきちんとインストールされてますか?
環境はWindows?Linux?それ以外?
Robocode以外のJavaアプリやJavaアプレットは正常に実行できますか?
あとは>>8の日本語解説を読むとかなり何とかなると思うんですが。
23仕様書無しさん:02/04/27 10:13
>>13をいじりましたが特に強くはできませんでした。
sample.RamFireに壁際で押しつぶされにくいようにしました。

package itteyoshi;
import robocode.*;
public class Wanderer extends AdvancedRobot
{
public void run() {
setAdjustGunForRobotTurn(true);
while(true) {
setTurnGunRight(3600.0);
ahead(-200.0 + 400.0 * Math.random());
}
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(0.8);
setTurnPerpendicularTo(e.getBearing());
}
public void onHitByBullet(HitByBulletEvent e) {
setTurnPerpendicularTo(e.getBearing());
}
public void onHitRobot(HitRobotEvent e) {
double bearing = e.getBearing();
setTurnPerpendicularTo(bearing);
if (-90.0 <= bearing && bearing <= 90.0) {
back(100.0);
} else {
ahead(100.0);
}
}
/** @param bearing -180.0 < bearing <= 180.0 */
public void setTurnPerpendicularTo(double bearing) {
turnRight((0.0 <= bearing) ? bearing - 90.0 : bearing + 90.0);
}
}
24仕様書無しさん:02/04/28 05:02
永遠のあげ
25仕様書無しさん:02/04/28 12:32
これ面白いね。
総合的に状況を判断させるAI的な方法と、
サンプルみたいに固定したトリッキーな動きを与える
お気楽な方法と二つのやり方がある。

しかも後者が弱いとは限らないから、
Java初心者でも遊べる。
26仕様書無しさん:02/04/28 18:42
SpinBot と Walls がつよいよ。
おもしろいけど難しいよ。
27仕様書無しさん:02/04/28 21:06
>>26
禿胴。
いま対SpinBot&Walls用ロボットを考えています。
円の動きをするSpinBot、直線の動きをするWalls。
しかし直線も中心が無限遠点にある円と考えられるし。
近い将来の敵ロボットの位置を予測する方法を思いつけば
何とかなるような気がします。
28仕様書無しさん:02/04/28 21:15
ネット対戦できんのじゃろ?
Terrariumよりおもろいのか?
29仕様書無しさん:02/04/28 21:43
関数の動きがわからん
30仕様書無しさん:02/04/28 21:46
>>28
Terrariumはプレイしたことがないのでおれには比較出来ないけど。
Robocodeにはロボットのダウンロード・アップロードができるサイトもあるし
フォーラムもあるよ。またロボットのリーグ戦RoboLeagueってのもある。
http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html#resources
31仕様書無しさん:02/04/28 21:49
ジャパニーズはないのかねぇ・・・
32仕様書無しさん:02/04/28 21:54
>>29
http://robocode.alphaworks.ibm.com/docs/robocode/index.html
robocode.*のクラスのメソッドの動きを理解するにはRobocodeのJavadocを読んだり
サンプルロボットのソースにあるコメントを読んでいじるのがとりあえずはいいかと。
33仕様書無しさん:02/04/28 22:02
>>31
現時点では>>8に書かれている文章が日本語のものとしては
一番まとまっていると思います。日本IBMがRobocode APIの
ドキュメントくらい日本語訳してくれたら嬉しいのに。
34仕様書無しさん:02/04/28 22:53
うーん、四角形のフィールドでWalls に勝つのは難しいな
けどWalls対策ばかりしてると他の奴らにやられる
コード数行でやってもなかなか奥が深い
35仕様書無しさん:02/04/29 05:22
>>34
ここのSnippetBotはWallsを含めサンプルロボットのうち
直線的な動きをするロボットに勝つよ。Spinbotには厳しいけど。
http://www.ecs.soton.ac.uk/~awo101/robocode.html
36仕様書無しさん:02/04/29 07:28
正直あまり張り合いが無い・・・。
37仕様書無しさん:02/04/29 12:33
win2kとRedhatとDebianにインストールしたんだけどDebianのだけ何か遅い。
なんであ
3837:02/04/29 12:34
ミスった。
s/なんであ/なんでだ?/
39仕様書無しさん:02/04/29 13:58
getBearingやgetHeadingで返ってくる値がよく分からん
40仕様書無しさん:02/04/29 14:25
>>39
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/Robot.html
> Please note the following standards will be used:
> heading - absolute angle in degrees with 0 facing up the screen,
> positive clockwise. 0 <= heading < 360.
> bearing - relative angle to some object from your robot's heading,
> positive clockwise. -180 < bearing <= 180
> All coordinates are expressed as (x,y).
> All coordinates are positive.
> The origin (0,0) is at the bottom left of the screen.
> Positive x is right.
> Positive y is up.
headingは画面に対してまっすぐ上向きを0とした絶対角
bearingは自分のロボットのheadingを基準とした相対角
(どちらも時計回り)
41仕様書無しさん:02/04/29 15:04
>>35
ターゲットを一つに絞って円弧状に攻撃するのかぁ
ちゃんと考えて行動するタイプとしてはかなり強いね
それでもSpinBotのシンプルな強さにはあらためて驚くけど・・・

厨房の頃は「三角関数なんて人生の役に立たない!」と
バカにしてたけど、今頃ツケが来たよ
42仕様書無しさん:02/04/29 15:24
>40
thx.
43仕様書無しさん:02/04/29 16:34
robocode面白いんだけど、ネット対戦できるようにしてほしい・・・。
相手と対戦するたびにRobotダウソするのはちょっとね。
44仕様書無しさん:02/04/29 17:38
壁に当たったら壁から離れる関数onHitWallプリーズ
45仕様書無しさん:02/04/29 17:54
>>44
public void onHitWall(HitWallEvent e){
turnRight(e.getBearing()):
ahead(n);
}

基本はこんな感じかな?
初心者なんでよくわからん。
46仕様書無しさん:02/04/29 18:07
さんくゆー
47仕様書無しさん:02/04/29 22:58
永遠にあげ
48仕様書無しさん:02/04/30 01:47
板違い
49仕様書無しさん:02/04/30 03:22
壁に近づきすぎ、NearlyWallEvent クラスを作るには?と、
考えてみるかもしれません
50仕様書無しさん:02/04/30 03:51
吉害
51仕様書無しさん:02/04/30 05:16
>>48
同意。しかしガイシュツ。
52仕様書無しさん:02/04/30 06:28
かなり楽しい。
53仕様書無しさん:02/04/30 08:14
>>44>>45>>49
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/CustomEvent.html
独自のイベントを使いたかったらCustomEventを利用するといいよ。
sample.Targetのソースを参考にしてみて。
54仕様書無しさん:02/04/30 10:21
win2kなんですけどタスクバーが禿げしく点滅して欝陶しいんですが同じ症状
の人います?家のもっと遅いマシンでは何ともなかったんだけど。。
JBuilder なんかでもなってた。
55仕様書無しさん:02/04/30 15:18
マ板でコソーリやらないでム板でやろーよ
誰かム板にスレ立てれ
テラリウムスレのパート2は
「ム板のみんなでテラリウム (・∀・)ヤローウヨ!2匹目 」
みたいだから
「ム板のみんなでRoboCode (・∀・)ヤローウヨ!1台目」
56仕様書無しさん:02/04/30 15:34
http://robocode.turbochicken.com/
ここでロボをダウンしてみたんだけど
強すぎ・・・。
正直勝てる気がしないわ。
57仕様書無しさん:02/04/30 17:22
>>55
>「ム板のみんなでRoboCode (・∀・)ヤローウヨ!1台目」
Robocodeのcは小文字ですね。おれはスレ立てたことがないので誰か立ててください。
リンクとしては
(オフィシャルサイト)
http://robocode.alphaworks.ibm.com/home/home.html
闘え、Robocode (ロボコード) ! (日本語による解説記事 まずはここを読もう)
http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html
Robocode API Documentation
http://robocode.alphaworks.ibm.com/docs/robocode/index.html
robocodeしよう! (前スレ)
http://pc.2ch.net/test/read.cgi/prog/1018584588/
があるといいと思います。
ほかにも希望があったら書き込むということで……

>>56
そのサイトはURLが移るらしいですね。
http://robocoderepository.com/
58仕様書無しさん:02/04/30 19:18
http://pc.2ch.net/test/read.cgi/tech/1020161792/
ム板に建てました。独断で書き換えたけど許してね。
59仕様書無しさん:02/04/30 19:18
あげますね。
60仕様書無しさん:02/04/30 19:25
全然盛り上がらないけど、頑張れ。
61仕様書無しさん:02/04/30 19:30
Robocordのversion、今1.0.0だけど
IBMさんは開発し続けてくれるのかな?
Terrariumのネットワーク対戦(?)機能はウラヤマスィぞ
6257:02/04/30 19:34
>>58
乙かれー!
63仕様書無しさん:02/05/02 08:51
age
64仕様書無しさん
 
 
 
 
 
                移動しますた
     http://pc.2ch.net/test/read.cgi/tech/1020161792/