5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ム板のみんなでRobocode (・∀・)ヤローウヨ!1台目

1 :デフォルトの名無しさん:02/04/30 19:16
●闘え、Robocode !(日本語解説ページ)
http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html
●オフィシャルサイト
http://robocode.alphaworks.ibm.com/home/home.html

●Robocode API Documentation
http://robocode.alphaworks.ibm.com/docs/robocode/index.html

●Java2のダウンロード先
http://java.sun.com/j2se/1.4/ja/download.html

君のマシーンは生き残れるか!?

2 :デフォルトの名無しさん:02/04/30 19:21
>>1
乙かれー!

3 :デフォルトの名無しさん:02/04/30 19:24
アップボードとかあったら良いね。

4 :デフォルトの名無しさん:02/04/30 19:35
SpinBotとWallsにどうしても勝てない

5 :デフォルトの名無しさん:02/04/30 19:36
>>1
乙ー

6 :デフォルトの名無しさん:02/04/30 19:39
よーしパパ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);
}
}


7 :デフォルトの名無しさん:02/04/30 19:43
大体、どのプラットホームでもインストール手順は同じですが
Macの方はこちらのサイトを参考にすれば良いかと。
ttp://www.cool.giti.waseda.ac.jp/~acdc/robocode.html

8 :デフォルトの名無しさん:02/04/30 20:10
>>3
ロボコードのアップロード・ダウンロードができるサイトで
メジャーなものはこれかな。
http://robocoderepository.com/
http://robocode.diverman.com/

9 :デフォルトの名無しさん:02/04/30 20:25
JollyNinjaが強いす。

10 :デフォルトの名無しさん:02/04/30 20:27
JollyNinjaのソースって見れないんですか?

11 :デフォルトの名無しさん:02/04/30 21:27
>>10
見れるよ。確かこんな手順だったかな。
[Robot]->[Editor]
[File]->[Extract downloaded robot for editing]
JollyNinjaを選択しSelectedRobots欄に追加->[Extract!]
間違ってたら誰かフォローお願い。

12 :デフォルトの名無しさん:02/04/30 21:30
terrariumみたいに
豪華商品くれくれ

13 :デフォルトの名無しさん:02/04/30 21:31
また、クソ盛り上がらないスレ立てちゃいましたね。

14 :デフォルトの名無しさん:02/04/30 21:34
Robocupの方が良かった金。

15 :デフォルトの名無しさん:02/04/30 22:03
>>11
thxです。まだやっと目的地に向かって直線移動できるようになった程度ですが、
がんばってみます。

ところで砲台回転しながら移動、とかってやっぱりスレッド立ち上げてやるのが
正解なんでしょうか?

16 :15:02/04/30 22:13
あ、AdvancedRobotなんてクラスがあったんですか・・・
そっちを使えばいけそうな感じ。
自己レス失礼しました。

17 :デフォルトの名無しさん:02/04/30 22:32
戦略勝負も面白いね〜
最初はメチャクチャに動き回って攻撃を回避し、
全体の数が減ったところで攻撃を始める戦法で作ってるよ
多数のバトルロイヤル形式だとけっこう生き残る

18 :デフォルトの名無しさん:02/04/30 22:55
変形とか合体はできるのだろうか…

19 :デフォルトの名無しさん:02/04/30 22:58
ドはドキュソのド〜
レはレモナのレ〜
ミは


20 :デフォルトの名無しさん:02/04/30 23:01
>>19
AA辞典逝こうな。

21 :デフォルトの名無しさん:02/05/01 00:49
まともなロボットができたら実名で
トーナメントに参加するだろうし、

大会に出たやつらがここで実名さらして
自作のロボットを語ってくれるはずは
ないし…

==================終了==================


22 :15:02/05/01 01:04
なんとかSpinBotとWallsあたりとはまともに戦えるようになりましたが、
JollyNinjaには全く歯が立たない・・・
結局照準調整がキモなのかな?
ルールは単純ですが、思ってたよりはずいぶん奥が深そうです。

>>21
ほっといても終わるのが分かってるならそう無理に終らせなくとも。

23 :デフォルトの名無しさん:02/05/01 01:14
Tron (だったかな?)が強そう。

24 :デフォルトの名無しさん:02/05/01 02:06
>>21
いやーそんなことねえべ
完成したソースをやりとりするのもいいが、
移動や砲撃のちょっとしたアルゴリズムを語り合うことで
話題はあると思う

ていうか、そもそもRobocodeってゲームではなくて
Javaの学習用という意味合いが強いんでは?

25 :デフォルトの名無しさん:02/05/01 02:49
これさあ、類似の各種ゲームに比べてゲームバランスが悪いと思わん?

レーダーが超高性能なので、敵の位置はほぼ常に把握できている。
ということはつまり、自分の位置も常に把握されている。
ということは、常に全速で動いてることが必須。
そのわりに砲弾が低速なので、予測しても当らない。

メインはチームバトルか?

26 :デフォルトの名無しさん:02/05/01 08:17
壁にあたるとLIFE減りますか?

27 :デフォルトの名無しさん:02/05/01 08:32
>>26
減らないみたい。
import robocode.*;
public class WallHit extends Robot {
public void run() {
while(true)
ahead(200.0);
}
public void onHitWall(HitWallEvent e) {out.println(getEnergy());}
}

28 :デフォルトの名無しさん:02/05/01 08:34
サーバをクラックして相手移動不能に。

29 :デフォルトの名無しさん:02/05/01 08:39
>>26-27
Advancedだったら減るが普通のRobotなら減らない。

>>28
は?

30 :デフォルトの名無しさん:02/05/01 08:45
もちろんみんな、動きが1サイクルにならないように
所々で、Randamを入れてるよね?
サンプル見てるとどれも一定の動きなんだけど・・・

31 :デフォルトの名無しさん:02/05/01 08:58
考え方その1
「敵と自機の座標において(x1-x2)/(y1-y2)の値が一定となるような
動きはなるべく避けろ。もし発射したいときは発射後速やかに
その(x1-x2)/(y1-y2)の値が一定となるような座標から離れるべし」

32 :27:02/05/01 09:49
>>29
なるほど。壁に衝突する直前に発生するイベントを
CustomEventを使ってつくることにします。

33 :デフォルトの名無しさん:02/05/01 16:04
public class Sample extends Robot
{
/**
* run: Sample'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
turnGunRight(8);
}
}

/**
* 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) {
back(100);
}

/**
* onHitRobot: What to do when you hit other robot
*/
public void onHitRobot(HitRobotEvent e){
fire(3);
}

/**
* onHitWall: What to do when you are close by wall
*/
public void onHitWall(HitWallEvent e){
turnRight(e.getBearing());
back(900);
}
}

的に弾に当たったときに連射をしません。
どうしてでしょうか?
またどのように対処すればよいのでしょうか?

お願いします。

34 :デフォルトの名無しさん:02/05/01 17:51
Tron最強。
1対1でも20機ぐらいで対戦させても
かなりのアベレージで生き残る。

35 :34:02/05/01 17:52
アベレージ → 高アベレージ

36 :デフォルトの名無しさん:02/05/01 18:33
>>33
HitRobotEventは弾が当たったときのEventではなく、
他のRobotとcollide(衝突)したときのEventだから。
API見直してみ。

37 :デフォルトの名無しさん:02/05/01 19:28
>>33
> 的に弾に当たったときに連射をしません。
この日本語の意味がよくわからないのですが、もしも

  レーダーが敵を捕捉したら弾丸を発射し、
  発射直後もまだ敵がレーダーで捕捉できる位置にいたら
  大砲とレーダーを固定したまま弾丸を発射しつづけるようにしたい

という意味ならonScannedRobot()メソッドに以下のように
scan()メソッドを加えると実現できます。

public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
scan();
}

scan()メソッドをあの場所で使わないと
大砲の発射直後にrun()メソッドが大砲(とレーダー)を回転させるため
敵がレーダーの有効範囲から外れてしまいでScannedRobotEventが発生しない
からではないかと思います。scan()については
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/Robot.html#scan()
やサンプルロボットのソースの中のコメントを読んでみてください。

38 :37:02/05/01 19:43
おれの日本語も変。鬱。

39 :デフォルトの名無しさん:02/05/02 01:53
基本的なことかもしれないけど
1対1で戦うのと、バトルロイヤルで戦うのでは
明らかに考え方が異なるよなぁ
何種類かの動きをclassにしておいて
動的に切り替える方法がいいのか?

40 :デフォルトの名無しさん:02/05/02 01:54
>>39
StrategyパターンやStateパターンが使えるんじゃないかと睨んでる。
実際、JollyNinjaはStrategyパターンを採用しているみたい。
Robotが死んだときのEventは拾えるから動的に切り替えることは可能なはず。

41 :デフォルトの名無しさん:02/05/02 02:06
>>40
当たり前なことをパターン名で語られても間抜けな感じだな。
まあどうでもいいが。

42 :デフォルトの名無しさん:02/05/02 02:10
>>40
なるほど。状況に応じて思考ルーチンをごそっと入れ替えるんだな。

Robotの名前考え付いたよ。Quadropheniaってのはどうだ?

43 :デフォルトの名無しさん:02/05/02 02:34
まだ、じっくり触ってない時点で質問するのも
失礼なんですけど・・・
レーダーで感知できるのは、相手の座標だけですか?
相手のGunの向きやレーダーの向きを知ることは
不可能ですか?

44 :デフォルトの名無しさん:02/05/02 02:40
>>43
相手との距離、向き(相対角度)、相手の速度、エネルギー、名前
だけわかる。

ドキュメント嫁

45 :43:02/05/02 02:47
>>44
ぁぃ...ごめんなさんくす

46 :デフォルトの名無しさん:02/05/02 05:22
>>43
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/ScannedRobotEvent.html
レーダーで敵を感知したときのイベントのドキュメントは↑。念のため。

47 :デフォルトの名無しさん:02/05/02 06:25
テラリウムより面白そうなのであげ

48 :デフォルトの名無しさん:02/05/02 06:55
テラリウムって.NETのやつだったっけ

49 :デフォルトの名無しさん:02/05/02 07:03
>>48
テラリウムスレ
http://pc.2ch.net/test/read.cgi/tech/1013093589/

50 :デフォルトの名無しさん:02/05/02 12:00
これ、いかに無駄な弾を発射させないか
っていうのも考えないといけないよな
あんまり距離あるときに発射しても当たる可能性低いし・・・
いやこれ、設計難しいわ・・・

51 :デフォルトの名無しさん:02/05/02 12:28
>>50
fire()のpowerを下げれば、弾は速くなる。
距離に応じてpower変えれば、とりあえずいいんでない?

52 :デフォルトの名無しさん:02/05/02 13:08
バトル設定のダイアログで
Ruleタブの[Gun cooling Rate]
ってありますよね
あれによってもかなり戦略変わると思うんですが
あの値(標準は0.1)って取得できます?

53 :デフォルトの名無しさん:02/05/02 13:25
>>52
RobotクラスにgetGunCoolingRate()メソッドがあるよ。

54 :デフォルトの名無しさん:02/05/02 13:28
>>52
Robot#getGunCoolingRate()だと思う
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/Robot.html#getGunCoolingRate()

55 :デフォルトの名無しさん:02/05/02 13:29
メモリ上の他のロボットって触れないようにしてあるんだろうね
きっと

ROBOCODEのディレクトリをスキャンして、成績よさげなロボット
を自分でロードして、あとはBridgeパターンでそのロボットに
なりきっちゃうってのはどうだ?

56 :デフォルトの名無しさん:02/05/02 15:06
壁に接触したら取りあえず180度スキャン→敵がいたら集中砲火

でWallに対抗したいと思っているのですが実装の仕方がわかりません。
普通に
onHitWall(HitWallEvent e)
の中で仮にスキャンしても敵を見つけたときに砲火してくれません。
多分Javaの文法自体が分ってないと思うのですがどのようにすれば
私の望むような動作をしてくれるようになるのでしょうか?お願いします。

57 :デフォルトの名無しさん:02/05/02 16:48
>>56
うーん、とりあえず。
onHitWall()メソッドを
public void onHitWall(HitWallEvent e) {
turnGunRight(180);
}
ってしてるようなら例えば AdvancedRobotを継承して
public void onHitWall(HitWallEvent e) {
setTurnGunRight(180);
execute();
}
とすると大砲の回転中に弾丸を発射できるようになる。

58 :デフォルトの名無しさん:02/05/02 18:04
レスありがとうございます。
今、こんな感じで壁から離れるだけに設定しています。

public void onHitWall(HitWallEvent e){
turnRight(e.getBearing());
back(900);
}

この場合はどうすればいいのでしょうか?お願いします。

59 :デフォルトの名無しさん:02/05/02 18:56
>>58
コンパイルしてないので自信はないけど
public void onHitWall(HitWallEvent e){
setTurnRight(e.getBearing());
setBack(900);
execute();
}


60 :デフォルトの名無しさん:02/05/02 20:35
ありがとうございました。早速試してみます。

61 :デフォルトの名無しさん:02/05/03 00:24
永遠にあげ

62 :デフォルトの名無しさん:02/05/03 04:24
Threadをいっぱい作って、他のロボットのCPU時間を奪うことは
できないかな? 例えば自分の処理を10個のスレッドに分けると、
自分だけ計算時間を他のロボットの10倍つかえたりしない?

63 :デフォルトの名無しさん:02/05/03 05:33
>>62
これ↓を読んでみたけど出来なさそうだよ
http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html#11


64 :デフォルトの名無しさん:02/05/03 06:19
>>62
SkippedTurnEventがやたらと発生するだけ

65 :デフォルトの名無しさん:02/05/03 11:43
>>62-64
結局自分の番がスキップされるだけってことか。

66 :デフォルトの名無しさん:02/05/03 12:20
http://www.alphaworks.ibm.com/forum/robocode.nsf/current?OpenView&Start=1&Count=100
読みはじめたんだけどキリが無いっす

67 :デフォルトの名無しさん:02/05/03 16:13
>>63-65
バトルマネージャから見えるスレッド以外に
daemonスレッドを作ってずっと動かしとけば良いのでは。

バトルマネージャからwakeupされるスレッドは
ちゃんと時間内にblocking APIを呼び出す。
他のスレッドは、他のロボットの番にたっぷり考えて
邪魔しつつ高度な処理を行う。自分の番になったら
情報を渡してsleepする。


68 :デフォルトの名無しさん:02/05/03 21:45
>>28,>>55,>>67
2ちゃんでやる意味はこういうとこかも

69 :デフォルトの名無しさん:02/05/04 03:36
Terrariumみたいにコンテストやってるの?
http://apps.alphaworks.ibm.com/rumble/

70 :デフォルトの名無しさん:02/05/04 05:40
デーモンスレッドは他のロボットのCPU時間奪えないし
いつ実行されるか予測のつかないデーモンスレッドの計算結果を
あてにしてもしょうがないし
バトルマネージャから見えないスレッドなら開始されることもないと思うがどうよ


71 :デフォルトの名無しさん:02/05/04 07:09
バトルフィールド内に
壁(外壁じゃないよ)などの
障害物があることって
今後あるのだろうか?

72 :デフォルトの名無しさん:02/05/04 08:01
>>71
あったような気がする。
http://robocode.net/robocode.todo.txt

73 :デフォルトの名無しさん:02/05/04 12:27
http://www-106.ibm.com/developerworks/java/library/j-robocode2/
「闘え、Robocode !ラウンド2」がアップされてた。
アドバンスドロボットやらチームプレイやらについて書かれてる。
APIドキュメントよりは分かりやすく解説されているんじゃないかな。
もっとも日本語版はまだらしいけど。

74 :デフォルトの名無しさん:02/05/04 15:02
デーモンスレッドだからといって優先度が低いと言うわけではないし
自分で開始させちゃえばバトルマネージャには止めようがないし
別に必須ではない付加的情報を計算させとけば良い(位置予測の精度を
上げるとか)と思うがどうよ。

75 :デフォルトの名無しさん:02/05/05 15:33
会社のwin2kでrobocodeとかJBuilderとか起動するとタスクバーがチカチカ点滅
してうっとうしいんだけど何でだと思う?

76 :デフォルトの名無しさん:02/05/05 15:40
>>74
別に計算サーバプログラム立ててSocketでw。

77 :59:02/05/06 09:25
結局>>58>>59のソースを試してみたのかな?
後退する距離の値として900を使っていたが大きすぎる。
だからまず間違いなく別の壁にぶつかってしまうので
その時どういう現象が起こったかレポートがほしかったんだが。

78 :デフォルトの名無しさん:02/05/06 10:02
壁はってく奴
強くねえ?

79 :デフォルトの名無しさん:02/05/06 11:12
>>78
サンプルロボットの中ではWallsとSpinBotが強いね。
http://www.ecs.soton.ac.uk/~awo101/robocode.html
SnippetBotは敵が線形移動すると仮定して大砲を動かして
弾丸を発射するので相性的にWallsキラー。

80 :デフォルトの名無しさん:02/05/06 12:13
>>75
タスクバー透明化してたりしない?
Javaは昔から透過ウィンドウと相性が悪い。
# 1.4で多少改善されたけど「多少」だし

81 :デフォルトの名無しさん:02/05/06 16:30
1.4からの新機能フルスクリーンモード使えないのかな?
俺のPCの場合チョイパワー不足なんで
フルスクリーンのほうがいいかなと・・・

82 :デフォルトの名無しさん:02/05/06 17:03
>>81
フルスクリーン対応予定は>>72に書いてあるTODOリストには無かったと思うけど。

ところでRobocodeの最新バージョンは1.0.1になったみたいだけど
どこがかわったのかな。

83 :デフォルトの名無しさん:02/05/06 18:08
へー 1.01になったんだね

84 :デフォルトの名無しさん:02/05/06 18:15
こんなの見つけたんで貼っときます

85 :デフォルトの名無しさん:02/05/06 18:16
貼り忘れてた。
http://robocode.alphaworks.ibm.com/home/versions.txt

86 :82:02/05/06 18:44
>>85
産休!

87 :顔も名前も出さずに毎月100万円:02/05/06 18:52
Future-Web(フューチャーウェブ)登場
なんと10,000円単位の収入    

●10,000円単位の高収入
 1件につき最大10、000円の高額収入。月収100万円以上も可能。
●画期的なビジネス!
 インターネットを利用したこれまでにない斬新で画期的なビジネスです。
●誰でも出来ます!
 インターネットが出来る環境の方なら誰でも参加可能です。
●専門的な知識は一切不要!
 ビジネスに必要なツールはすべて当社で用意いたします。また、サポ
 ートも万全です。
●詳細は今すぐHPをご覧ください。
  http://www.future-web.tv/7823/

88 :デフォルトの名無しさん:02/05/06 19:08
>>85 ゲーム自体に大きな変更は無いのね。

89 :75:02/05/07 09:49
>>80
透明化ではなかったけど tclock で時計の表示とかいじってたのが原因だった
みたいです。tclock 終了させたら点滅しなくなりました。
# よく考えたらスレ違いっぽいですね。すみません。

90 :デフォルトの名無しさん:02/05/08 20:53
剥げしくage!!

91 :デフォルトの名無しさん:02/05/08 21:00
Robocode (・∀・)ヤリタイ!
C言語暦2,3、ヶ月ですけど、いまからJavaの勉強をはじめたとして、
いつぐらいからここに参加できますかね?

92 :デフォルトの名無しさん:02/05/08 21:04
>>91
もう参加しとるやないかい。

93 :デフォルトの名無しさん:02/05/10 09:23
ageage.


94 :デフォルトの名無しさん:02/05/10 09:26
>>91
俺6時間。C++の勉強してたからだろうけど。

95 :デフォルトの名無しさん:02/05/10 10:30
RobocodeのAPIドキュメンテーションを日本語訳したよ。
ウェブにのっけたいと思うんだけどジオシティーズを利用すればいいのかな?
知的所有権は尊重したいからIBMがオフィシャルな日本語訳を作ってくれるのが
一番ありがたいんだけど。

96 :デフォルトの名無しさん:02/05/10 10:37
>>95
スゴク(・∀・)イイ!
pop-up広告のないところだとうれしい。
ジオシティーズで悪くないと思います。

97 :デフォルトの名無しさん:02/05/10 10:55
>>95
マンセーー!!

98 :デフォルトの名無しさん:02/05/10 11:06
>>95 良くやった。褒美だ。IIIIIIIIII

99 :デフォルトの名無しさん:02/05/10 11:07
>>95
神降臨マンセ〜

100 :デフォルトの名無しさん:02/05/10 11:08
漏れも始めたくなってきた

101 :デフォルトの名無しさん:02/05/10 11:15
英語でも読めるだろ

102 :デフォルトの名無しさん:02/05/10 11:17
読めるけど、日本語訳があればそのほうが良い。

103 :デフォルトの名無しさん:02/05/10 12:44
英語苦手なので日本語訳ほしー

104 :デフォルトの名無しさん:02/05/10 16:53
英語が母国語の人なら小学生くらいでもRobocodeで遊んでる人っているわけよ。
あのドキュメントを読むのは日本人の中学生なら頭の良い奴でも厳しいと思われ。

105 :デフォルトの名無しさん:02/05/10 17:01
>>104
そう、しきいが低くなってより多くの人が参加する方がいい。

106 :95:02/05/10 21:05
http://www.geocities.co.jp/SiliconValley/9155/
お前らRobocode API ドキュメンテーションの日本語訳をアップしました。
誤訳の指摘や言葉使いのアドバイスなど禿しくよろしくおながいします。
# ノーパソの液晶ディスプレイが逝ってしまいそう。鬱。

107 :デフォルトの名無しさん:02/05/10 23:05
>>106
見たよ!すげ〜よ!明日会社で印刷するYo!
お疲れ様!ありがとう!

108 :デフォルトの名無しさん:02/05/10 23:14
>>106は神
(・∀・)イイ!
ヤルキデテキターYO!

109 :デフォルトの名無しさん:02/05/10 23:22
>>106は神ケテーイ
これ、どれだけ時間かかったの?

110 :デフォルトの名無しさん:02/05/11 00:21
すげー。すばらしい仕事に感謝。

111 :デフォルトの名無しさん:02/05/11 01:01
106は加味けってい。
おいらロボコードはじめるYO。

112 :デフォルトの名無しさん:02/05/11 09:46
神だ!ワショーーイ!

113 :デフォルトの名無しさん:02/05/11 10:00
Googleのキャッシュからハケーン

Robocode powered by Java (3)
http://pc.2ch.net/test/read.cgi/tech/1017849579/l50
1 名前:read.cgi ver6.01p (02/04/12)投稿日:2001/04/12(木) 15:11
そんな板orスレッドないです。

114 :デフォルトの名無しさん:02/05/11 21:31
ロボットの衝突判定領域って図形でいうと□?それとも○?
HitWallEventの発生についてはどちらでも同じ結果になるけど
ScannedRobotEvent,BulletHitEventなどではかわってくるよね。

115 :デフォルトの名無しさん:02/05/11 22:58
テラリウム挫折者の集会所ですか?

116 :デフォルトの名無しさん:02/05/11 22:59
>>115
どっちかというと寺の方が簡単だと思われ。

117 :デフォルトの名無しさん:02/05/11 23:04
>>115
いいえ、.Netという時代の流れに取り残された人たちです。
時代遅れのJavaへの勧誘を目論んでいるようなので注意してください。

118 :デフォルトの名無しさん:02/05/11 23:05
>>117
言うか同時に1つの言語しか使えない人の方が問題かと。あなたのように。

119 :デフォルトの名無しさん:02/05/11 23:06
クラス図とかあります?

オブジェクト指向をぜんぜん知らない人に、
ここはインターフェースとか、オーバライドとか説明したいのです。



120 :デフォルトの名無しさん:02/05/11 23:33
Terrarium も Robocode もやってますが。

121 :デフォルトの名無しさん:02/05/11 23:36
>>119
何のクラス図?
いまいち意味が。

122 :117:02/05/11 23:58
>>118
同時にっつのがわからんけど、
ひとつの言語しか知らない人は少ないと思われ。

>>119
UMLでいいじゃん。

123 :デフォルトの名無しさん:02/05/12 00:43
>>122
無理すんな。

124 :デフォルトの名無しさん:02/05/12 01:46
Robocodeの大会があるみたいです。

IBMがJava戦闘ロボットコンテスト開催
http://www.japan.cnet.com/News/Flash/2002/2002-0510-F-1.html


125 :117:02/05/12 02:17
>>123
わかった。

126 :デフォルトの名無しさん:02/05/12 02:48
>>122
え、UMLある?

127 :デフォルトの名無しさん:02/05/12 03:22
チンコパッドは欲しいな。頑張ろうかな。

128 :117:02/05/12 03:23
>>126

クラスの図(継承とかメソッドとか)書くにはUMLじゃない?
あんまりオブジェクト指向の理解いらないし。
図にコメントいれときゃ大抵は大丈夫でしょ。

129 :デフォルトの名無しさん:02/05/12 03:40
このスレに書いてるんだから、Robocode のクラス図があるかどうか聞いたのが、
>>119 だったのではないかと思うがどうだろう。

で、UML で良いじゃん、という返答から???なやりとりになる。


130 :117:02/05/12 04:14
>>129
ああ・・そうか・・・

ゴメソ・・・
逝ってくる・・・


131 :デフォルトの名無しさん:02/05/12 06:01
http://objectclub.esm.co.jp/uml-doclet/index-j.html
UMLクラス図生成ならこれどうよ?
ソースで提供するフリーソフトウェアで
javadocでUMLクラス図形をHTMLで作って
標準javadoc形式のHTMLと相互リンクできるんだと。
Robocodeのやつも作れるはず。まだ試してないけどさ。

132 :デフォルトの名無しさん:02/05/12 10:51
106さん、ほんとにありがトー!
素晴らしい出来です。
(実は、日本IBMの人?!・・・????それはないか。w)

133 :デフォルトの名無しさん:02/05/12 11:22
>>119

オブジェクト指向に慣れてないのに UML 使うと、
よけいワケわからなくなるよ。絶対。

134 :デフォルトの名無しさん:02/05/12 12:08
http://www.iioss.org

135 :119:02/05/12 12:51
>>129
そういう意味です。解説ありがと。

>>131
これってソースからJavaDoc&クラス図を生成だよね。ソースってあったけ?

>>133
なぜかプログラムしたくないけど、
オブジェクト指向を理解したい人も混ざってるから
UMLからのアプローチも用意しといたほうがよいかなと(T_T)


136 :デフォルトの名無しさん:02/05/12 13:05
>>135
>なぜかプログラムしたくないけど、
>オブジェクト指向を理解したい人も混ざってるから
>UMLからのアプローチも用意しといたほうがよいかなと(T_T)

そんなに甘やかさなくてもいいんじゃない?
止めはしないが。


137 :デフォルトの名無しさん:02/05/12 13:10
Eclipseでのロボット作成方法発見(一月前からあったみたいだが)。
http://robocode.alphaworks.ibm.com/help/ide/ide2.html

関連スレッド→JAVA開発環境 "eclipse" is COOL!!
http://pc.2ch.net/test/read.cgi/tech/1013268002/



138 :デフォルトの名無しさん:02/05/12 19:30
>>114
> ロボットの衝突判定領域って図形でいうと□?それとも○?
実験していろんな角度でぶつけてみました。結果をいうと○です。
大砲同士が正面衝突したときは距離(だいたい)47まで、
車両同士が衝突したときは距離(だいたい)37まで、
中途半端に大砲が衝突したときはその中間まで近づきました。
Robot#getX(), Robot#getY()の値はともに40.0なので
○ということになります。

139 :デフォルトの名無しさん:02/05/12 20:12
>>137

Robocodeのエディタはすぐ使えるから便利だけど、
ゴリゴリ作るならやぱり外部エディタだな。
ちなみに俺は秀丸 (w


140 :デフォルトの名無しさん:02/05/13 01:39
ドキュメントに曖昧な点が多すぎると思う。
例えば、ろぼっとの「座標」って、ロボットのどこの点の座標なの?
中心?

141 :106:02/05/13 04:34
>>140
中心。ドキュメントのどこかに書いてあった。どこかは忘れたスマソ
曖昧なのがおれの>>106日本語訳なら
「どことどことどことどこが曖昧」と具体的に書いてくれないかな?
そうでないと直しようが無いもので。
ちなみにおれは自分自身の訳を全然信じてない。

Googleに登録手続きしたんだけどまだ検索かけてもヒットしないな。

142 :デフォルトの名無しさん:02/05/13 11:12
>>136
コーディングはしないけどオブジェクト指向は理解しておいた方がいい、って
いう仕事はあるんじゃない?営業とかで知らないよりは知ってた方が話しやす
い、とか。

143 :デフォルトの名無しさん:02/05/13 17:22
age

144 :デフォルトの名無しさん:02/05/13 19:01
誰かテラリウムやった人いる?
感想聞かせてくれ

145 :デフォルトの名無しさん:02/05/13 20:13
>>140,>>141
弾が当たった時とかのScannedRobotEvent#getDistance()じゃない?

by the way,
Q: What is the speed of a bullet?
弾の速さは?
A: speed = 20 - 3 * power;
So, 11 <= bullet speed <= 19.7
よって、11から19.7


146 :デフォルトの名無しさん:02/05/14 00:31
>>144
グローバルアドレスじゃないと結構鬱
だからRobocodeに流れた

147 :デフォルトの名無しさん:02/05/14 00:58
お前らもっと盛り上げようぜ!!!!!!!!!!

>>106はほんと偉い

148 :東洋平和:02/05/14 20:46
もりさがってるね・・・


149 :デフォルトの名無しさん:02/05/14 21:02
誰かまともなの作った?

150 :デフォルトの名無しさん:02/05/14 23:59
低レベルな質問です。
out.println()で日本語を表示させるにはどうすればいいの?
日本語を表示させようとしても以下のようになってしまいます。
"?¢?<<???`?・"
当方Windows2000,JDK1.4です。

# 開始時にout.println("いきま〜す")とかやりたいだけ…

151 :デフォルトの名無しさん:02/05/15 03:09
>>141
ほんとに中心なの?
x座標が0になることがあるような気がするんだけど、
ロボットの中心の位置が0になることはあり得ないよね?

152 :デフォルトの名無しさん:02/05/15 04:17
JollyNinjaやTronやWolverine等々
とまともに闘えるロボット、日本人も作ってよ。
おれには無理。

153 :デフォルトの名無しさん:02/05/15 08:18
Wolverineなら、勝てるよ。上位に日本人いんのかな。

154 :デフォルトの名無しさん:02/05/15 11:56
>>140 >>151
ドキュメントには書いてないみたいだったスマソ。けれど
out.println(getX() + ", " + getY());
をしてみるといかにも中心のような気がするよ。


155 :デフォルトの名無しさん:02/05/15 12:39
っつ〜かJAVAぜんぜんわかんね〜からちょっと気合入れてやらんと。
Verilogででけたらなぁ。


156 :デフォルトの名無しさん:02/05/15 13:55
>>155
っつ〜か漏れはVerilogのほうがさっぱりわからん。
VHDLやったけどサパーリだったYO!

157 : :02/05/15 15:55
>>155
VHDLしか書けない厨房?
文面からして頭が悪そうですね。
そもそもプログラマですらないのでは、と煽ってみる。

158 :デフォルトの名無しさん:02/05/15 16:46
>>150
おれの環境はWin98SE,JDK1.4.0の日本語対応、Robocode1.0.1だけど
そのやり方で化けずに表示できたよ。
ガンダムっぽくやるならまず import java.awt.Color;
しておいて run()メソッドの先頭で↓しる。
setColors(Color.WHITE, Color.BLUE, Color.RED);

159 :デフォルトの名無しさん:02/05/15 19:21
>>140,141,151,154
わしが書いた>>142はめちゃくちゃだった、鬱。
ScannedRobotEvent#getDistance()で、ロボット同士は中心の距離で測っているって書いてある。
getX()、getY()についてはどうか知らないが。

>>150
わしは以下のようにしているけど出力できてるよ。

public void onScannedRobot(ScannedRobotEvent e) {
System.out.println("Scanned Enemy. "+
// スキャンで得られる全データ
"Name:"+e.getName()+","+
"E:"+e.getEnergy()+","+
"Head:"+e.getHeading()+","+
"Dist:"+e.getDistance()+","+
"Bear:"+e.getBearing()+","+
"Vel:"+e.getVelocity());
}

でも、2バイト文字はどうか知らないが。

160 :デフォルトの名無しさん:02/05/15 22:12
うちは普通に日本語出るよ。System.out.println()で

161 :デフォルトの名無しさん:02/05/16 02:10
sampleの11体と50戦まわしたら何点くらい出る?

162 :JollyNinja3.26:02/05/16 02:29
46,635点だったよ。
4万点超えればけっこう強いってこと?

163 :デフォルトの名無しさん:02/05/16 02:47
>>162
自作ロボットだが、平均して45000点前後出てる。
でも、強いロボットばっかりだと軽くひねられてしまう。

>>152
Wolverineはあまり強くないよ。

164 :デフォルトの名無しさん:02/05/16 22:59
レーダーのながさが1200らしいから、RobocodeRumbleの1000X1000だとスキャンできない事があるな。

165 :デフォルトの名無しさん:02/05/18 01:28

 だれか、UnitTestしている人いる?

166 :デフォルトの名無しさん:02/05/18 08:05
>>165
JUnitとかを使ってのテストのこと?
あまり意味をなさないような気がするが・・・。
やれるのはユーティリティ的なメソッドくらいか。

バトルやって動作確認できるんだからそれでいいじゃん。

167 :デフォルトの名無しさん:02/05/18 09:36
JollyNinjaと100戦して勝ち越せるようになった。

168 :デフォルトの名無しさん:02/05/18 11:34
オカマを掘られたとき、そのことはどうやればわかるのかな。
HitRobotEventは発生しないよね。

169 :デフォルトの名無しさん:02/05/18 12:19
>>168 衝突すれば両方のRobotにHitRobotEventは発生するよ。どっちがどっちにぶつかった、って訳じゃないから。

170 :168:02/05/18 17:33
HitRobotEvent#getBearing()の結果をRobotのフィールドoutに出力したら
確かに>>169のいう通りだったよ。産休!

171 :デフォルトの名無しさん:02/05/18 23:05
>>166

>JUnitとかを使ってのテストのこと?

そうそう。

>あまり意味をなさないような気がするが・・・。
>やれるのはユーティリティ的なメソッドくらいか。

Javaの学習も兼ねているから、JUnitの学習も兼ねて
使おうかと思っているんだけど、どうやれば正しいのか
と思って・・・。

>バトルやって動作確認できるんだからそれでいいじゃん。

 それはそうなんだけど、それは結合テストだし。

172 :デフォルトの名無しさん:02/05/19 00:06
>>171
RobocodeってばJUnitでのテストには向いてないと思う。


173 :デフォルトの名無しさん:02/05/19 01:14
このスレもっと盛り上がるといいなあ

174 :デフォルトの名無しさん:02/05/19 01:29
>>172

例えば、Robotを継承したMyRobotでは直接Robotを操作しないで、

 class RobotControl(Robot myRobot)

見たいなクラスを作る。
で、このクラスをテストする、って考えているんだけど。
そのとき、Robotを継承したダミーのTestRobotクラスも定義して、
全てのメソッドをオーバライドしてファイルなりストリームなりに
吐き出すようにする。

これでRobotControlがRobotをどうやって操作しているかが外から
見えるようになるのでテストできるようになると思うんだけど、
やっぱりやるだけ無駄?

175 :デフォルトの名無しさん:02/05/19 01:39
すごいドライバになりそうやね。
テストのためのテストってつもりなら、とりあえずやってみたら?
ロボットの品質を上げるためのテストなら止めた方がよいと思うが。

>全てのメソッドをオーバライドしてファイルなりストリームなりに
>吐き出すようにする。

JUnitを使ってのテストじゃないよね?
out.printlnじゃダメなの?

176 :106:02/05/19 09:43
http://www-106.ibm.com/developerworks/java/library/j-robocode2/
お前らこれ↑を翻訳しました。これ↓を見て誤訳の指摘等お願いします。
http://www.geocities.co.jp/SiliconValley/9155/library/robocode2.html
ところでGoogleって登録手続きしてから実際に登録されるまで
1〜4週間も時間がかからしいですな。

177 :デフォルトの名無しさん:02/05/19 12:25
>>175
>すごいドライバになりそうやね。

やっぱりそうかな?

>テストのためのテストってつもりなら、とりあえずやってみたら?
>ロボットの品質を上げるためのテストなら止めた方がよいと思うが。

JUnitを使った場合と使わない場合で、Robotの品質にどれだけ違いがでるか
知りたいってのもあるから、品質があがらないならやりたくないんだけど、
見込みないかな。


>JUnitを使ってのテストじゃないよね?
>out.printlnじゃダメなの?

JUnitのつもりですけど、out.printlnでも大丈夫ですか?

178 :デフォルトの名無しさん:02/05/19 15:50
>176
「アドバンスドロボット作りとチームプレイで基礎を超えろ」
翻訳おつかれさま。たすかります。

チームプレイ機能があったのには気づかなかった。
友達何人かでチームわけしてプレイすれば楽しそ (w


179 :デフォルトの名無しさん:02/05/19 16:32
>>177
コーディングしながら頻繁に自動チェックしたいわけだろ?
outじゃなあ…かえって検査ルーチンが面倒になると思うが。


180 :デフォルトの名無しさん:02/05/19 21:44
おぉまた神が降臨された。
読むぜ。ありがとう。
しかしやる時間がぜんぜんねぇなもうVAIO抱えて通勤するしかなさぽ。

181 :デフォルトの名無しさん:02/05/20 01:19
すでに訳してる奴がいたか、やっぱし。
ぜひうpしてく!!

182 :デフォルトの名無しさん:02/05/20 01:23
>>181はミスった。すまそ。
失敗ついでに、「ターン」の概念がききたい。


183 :176:02/05/20 21:01
>>182
実はおれもよくわからんのよ。わからないまま訳してしまったよ。
シミュレーションゲームとRobocodeの両方に詳しい人がいたら
きちんと説明してもらえるかもしれないんだけど。


184 :デフォルトの名無しさん:02/05/20 21:27
ターンは「順番」だよ。

ボードゲームでもトランプでも「自分の番」ってのがあるでしょ。

ポーカーだと
レイズorコールor降りる→カード捨て→カード取る
で1回の自分のターンが終わる。

シミュ系のボードゲームだと例えば
補給→移動→攻撃
で1ターン終了、みたいな。

で、「うーん。このユニットがあの町につくまでには3ターンかかるな」ってのは
「自分の番が3回まわってくる間移動し続けないと町まで着かない」って意味。


185 :182:02/05/20 23:18
>>184 その辺りは理解できるんだけど、
たとえばScannedRobotEventで trunRight(1) とだけ記述した場合、
「そのターンは右1度旋回で終了」
とみなされてしまってるような気がして。

Eventの行動だけで1ラウンド経過してしまうのか?とか、
じゃあいったいいつメインのループに処理が回るのか?とか、
1ターンのどのタイミングでEventは補足されるのか?とか、
疑問が尽きないのです。

この辺りが詳しく記されたドキュメントってありませんかね。

186 :デフォルトの名無しさん:02/05/21 00:02
>>185

Robotなら旋回が終了するまで処理が戻ってこないし、
AdvanceRobotならすぐに処理が戻ってくる。

どちらにしても、1tickに10度の旋回速度じゃなかったっけ?

187 :186:02/05/21 00:16
>>185

たとえば、

run() {
  while (1) {
    turnRight(20);
  }
}

onScannedRobotEvent (...) {
  turnLeft(10);
}

なら、turnRight(20)から戻るまでに2tick経過すると思われます。
そして、ScannedRobotEventはturnRight()を呼び出して処理が
戻ってこない間に発生します。
このとき、もし10度だけ右に旋回したときにEventが発生した場合、
turnLeft(10)の処理は、その時点で有効になるのか、20度回りきって
から有効になるのかは、ちょっと不明。


188 :186:02/05/21 00:19
ちなみに1tick10度は、
AdvancedRobot.setMaxTurnRate()
の説明から推測。

189 :182:02/05/21 01:33
>>176 の訳文で見ると、砲台の旋回速度は速度に依存するようですな。
って事は、20度回転したいときに何ターン(tick)かかるかは一概にはいえないと。
う〜ん、インテリジェントに制御するのは結構面倒ですなぁ。

>Robotなら旋回が終了するまで処理が戻ってこないし、
>AdvanceRobotならすぐに処理が戻ってくる。

なる。ある程度以上制御したいならAdvanceを使っていくのが近道っぽいですね。
とりあえずJavaDoc読み漁ってみます。
感謝。

190 :デフォルトの名無しさん:02/05/21 13:53
向きたい角度-自分の角度を、-180から+180の間になるように修正して
毎ターンsetTurnRight()にわたせば向きたい角度に向ける。

あと、速度に影響されるのは砲台じゃなくてRobotでは。まぁ、砲台もロボットの
回転の影響を受けるけどそれはsetAdjust〜〜で防げるし。

191 :デフォルトの名無しさん:02/05/21 20:29
http://apps.alphaworks.ibm.com/rumble/
Robocode Rumbleに5/20に"Takahashi"っていうロボットが登録されてたよ。
日本からの初参戦?あまりマメにチェックしてなかったからわからないっす。

192 :デフォルトの名無しさん:02/05/21 20:36
>>191 Takanonamiとか前から居るし、外にも明らかにユーザ名が日本人の人が何人か居るよ。

193 :デフォルトの名無しさん:02/05/21 21:02
>>191
>Profile: Takahashi meijin...

高橋名人だって。16 連(略


194 :デフォルトの名無しさん:02/05/21 21:55
http://www.geocities.co.jp/SiliconValley/9155/library/antigrav.html
anti-gravity movementの解説を訳してアップしました。

195 :106:02/05/22 21:03
JollyNinjaやMadHatterの作者evilsimonによる
Predictive targeting(予言的ターゲッティング?)の解説を
訳しました。多分明日の朝アップします。
この戦略の優秀さはJollyNinjaとMadHatterの強さが証明しています。

196 :デフォルトの名無しさん:02/05/22 21:29
>>194 お疲れ様です。早速読んでみます。

197 :デフォルトの名無しさん:02/05/22 22:11
>>195
おおお、お疲れさんです
楽しみにしてまっさ

198 :デフォルトの名無しさん:02/05/23 04:41
http://www.geocities.co.jp/SiliconValley/9155/library/
http://www.geocities.co.jp/SiliconValley/9155/library/pred-targeting.html
アップしました。

199 :デフォルトの名無しさん:02/05/23 05:23
キタ━━━━━━(゚∀゚)━━━━━━━!!!!!
いつも、ありがとう。
参考にさせていただきます。

200 :デフォルトの名無しさん:02/05/23 08:10
>>106
いつもありがとう。
ロボットで負ける前に熱意で負けそうだ(藁

201 :デフォルトの名無しさん:02/05/24 04:20
漏れも参加させてもらうよ〜

>>75
漏れも同じこと起こったけどJBuilderは
jdk.configのvmparam -Dsun.java2d.noddraw行を
コメントアウトしたらちかちかしなくなったよ〜
ただrobocodeはだめっぽい(;´Д`)

202 :デフォルトの名無しさん:02/05/25 06:01
http://www.geocities.co.jp/SiliconValley/9155/library/movement.html
またアップしましたが、わからんかったところがあります。
> the number of encounters in which the state has been used,

> To prevent a single bad round from disqualifying
> a potentially effective state,
> statistics data is not considered valid unless
> the state has been used in at least three encounters.
は(特に encounters)どう訳したらいいのでしょう?

203 :ののたん:02/05/25 07:39
>202
〜するために、
少なくとも3回の遭遇で使用されたステートでない限り
統計データは有意なものとして考慮されない。

くらいだぴょん。

204 :デフォルトの名無しさん:02/05/25 08:08
stateの意味がとりにくいということでは? >>203

205 :202:02/05/25 09:04
> 203
そうします。
> 204
stateはあえて「ステート」としておきました。
GoFのデザパタにStateパターンもあることだし
いじらなくてもいいかなと思って。

206 :デフォルトの名無しさん:02/05/26 16:47
http://www.pro.or.jp/~fuji/puzzlelife/2002-04-16.html
Robocodeに8クイーン(8だと時間がかかるので実際は5クイーン)を
解かせたそうです。TeamRobot#broadcastMessage()を使うと
ある程度までは高速化できるのかな。
しかしレーダーを使わなくてすむので面白みは減るかも。

207 :デフォルトの名無しさん:02/05/28 04:50
「JAVA Developer」(ソフトバンクパブリッシング)という
雑誌の創刊号には特別企画に
『RobocodeによるJavaプログラミング撃破術』
というのが掲載されるそうです。

208 :デフォルトの名無しさん:02/05/28 07:03
 
 
            撃         破            
 

209 :デフォルトの名無しさん:02/05/28 08:51
>>1
>ム板のみんなでRobocode (・∀・)ヤローウヨ

い や だ !

210 :デフォルトの名無しさん:02/05/31 17:27
あげ

211 :106:02/05/31 21:54
http://www-106.ibm.com/developerworks/library/robotips/index.html
"Secrets from the Robocode masters"には今のところ記事が7つあるけど
一応全部訳したよ。時間さえあれば土日にHTML化してアップしたいっす。


212 :デフォルトの名無しさん:02/06/01 10:23
http://sourceforge.net/projects/r2tech-eclipse/


213 :106:02/06/01 16:58
http://www.geocities.co.jp/SiliconValley/9155/
http://www.geocities.co.jp/SiliconValley/9155/api/
http://www.geocities.co.jp/SiliconValley/9155/library/
アップしました。一番すごいと思ったのは現在世界のトップロボットは大抵
ターゲッティングシステムにパターン認識を採用しているというところです。
ところでおれって著作権を侵害しまくってるのかな、やっぱり。

214 :213=106:02/06/01 17:46
調べてみたら完璧に著作権侵害してることがわかりました。
あーあ、どうしたらよかんべ。

215 :デフォルトの名無しさん:02/06/01 18:29
>>214
僕たち純真無垢なタイーホブラザーズ!
とっても目立つようにageてあげるよ!
タイーホされたら祭をしてあげるからね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ∧_∧     ∧_∧    タイーホ
   (・∀・ )    ( ・∀・)    タイーホ
   /    \    /   \ タイーホ    タイーホ
  ⊂(  ヽノ つ ⊂ヽ/  ) つ  タイーホ
    し(_)     (_)J

216 :デフォルトの名無しさん:02/06/01 18:33
>>214
僕たち純真無垢なタイーホブラザーズ!
とっても目立つようにageてあげるよ!
タイーホされたらタイーホ祭をしてあげるからね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ∧_∧     ∧_∧    タイーホ
   (・∀・ )    ( ・∀・)    タイーホ
   /    \    /   \ タイーホ    タイーホ
  ⊂(  ヽノ つ ⊂ヽ/  ) つ  タイーホ
    し(_)     (_)J

217 :デフォルトの名無しさん:02/06/01 21:34
>>215-216
産休!

218 :デフォルトの名無しさん:02/06/01 23:07
>>214 すっとぼけて、dWJapanに「和訳してみたけど掲載しない?」とか
聞いてみるとか。

219 :デフォルトの名無しさん:02/06/04 12:49
>>214
日本IBMより早く「ロボコード」で商標登録を汁
ついでにタカラにロボコードプラモ作ってもらう

220 :デフォルトの名無しさん:02/06/09 18:23
あげ

221 :106:02/06/10 21:07
http://www.geocities.co.jp/SiliconValley/9155/
http://www.geocities.co.jp/SiliconValley/9155/library/radar.html
まさか6億円も払う事態には陥らないだろうと思いながらまた訳してアップしました。
"The Secret from Robocode masters: Radar sweeps"の訳です。

222 :デフォルトの名無しさん:02/06/11 08:10
>>106
お勤めご苦労様です。
レーダーの作動範囲とか、読んでたらコムサイトやりたくなってきた。

223 :デフォルトの名無しさん:02/06/20 06:18
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
イツノマニカ(゚∀゚)日本語化サレテルシー!!

224 :106:02/06/22 16:40
http://www-106.ibm.com/developerworks/library/j-tippoly/

225 :106:02/06/22 16:42
>>224のリンク先の"Secrets from the Robocode masters:
Polymorphic enemy cache"を近日中に訳してアップする予定です。
それからAA作ってみました。(ネタなのでsage)

   ∧ ∧
   (,,゚Д゚)つ <out.println("逝ってよし!");
.  [∪ ̄]≡=ロ
/ ̄ ̄ ̄ ̄\
(○) (○) (○)

226 :デフォルトの名無しさん:02/06/22 20:55
こんな質問する自分が悲しいんだが、

System.out.println("test");

の出力が出ないんです。
Round 3 initializing....
Let the games begin!
Round 3 cleaning up.
----------------------
Round 4 initializing....
Let the games begin!
こういうのが出る窓にでるはずと思うんだけど。。。

出すまでも無いと思われるソースは一応こんなです。
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) {
System.out.println("test");

                     ・・・・

コンパイルエラーは出ていません。何が悪いんでしょうか?

227 :デフォルトの名無しさん:02/06/23 07:41
>>256
http://robocode.alphaworks.ibm.com/docs/robocode/robocode/Robot.html#out
を読んでみそ。文字を画面に出力したいときは
Robotクラスのフィールドoutに出力すべきで、
これはバトルフィールドの右側のボタンを押すと表示される。
System.outに何か書こうとしてもやはりRobotクラスのoutに出力される。
……ということだと思う。

228 :226:02/06/23 08:57
>>227
おおおお!大感謝です!
ドキュメントは良く読まないとだめっすねぇ〜。失礼しました。

229 :226:02/06/23 23:59
人少ないみたいだからageてみる。
とりあえず一機つくってみたけど、sample11機と50戦して32,206点
不本意だ・・・
ていうかsampleに負けてる時点で駄目ですか?

230 :デフォルトの名無しさん:02/06/24 05:13
>>229
駄目ってことはない。とりあえずsampleロボット達のソースをじっくり眺めて
勉強させてもらうだけでもスキルはアップすると思うよ。
sampleに確実に勝てるロボットを作れるようになるにはそれなりの努力が要る。
http://www.ecs.soton.ac.uk/~awo101/robocode.html
英語を読むのが苦でなければこれ↑は良いチュートリアルだと思う。

231 :デフォルトの名無しさん:02/06/25 20:03
http://www.javadeveloper.jp/static/robocode/robo1.html

232 :デフォルトの名無しさん:02/06/27 00:04

ttp://www.javadeveloper.jp/static/index.html

って、a 要素の href 属性を書き間違ってない?
Not Found 大杉だよぉ。

233 :デフォルトの名無しさん:02/06/27 05:07
Java Developer 創刊号 P.88
「Robocodeを使ったJavaプログラミング撃破術:前編」
>  砲弾の速度は、エネルギーに反比例しており、
>   20 - 3 x p
> となります。
この記事の著者は義務教育を受ける機会が無かったのかな。

234 :デフォルトの名無しさん:02/06/27 14:19
Robocodeの最新バージョンが1.0.3になったようです。

235 :デフォルトの名無しさん:02/06/27 14:30
1.0.2でした。逝ってきます。

236 :デフォルトの名無しさん:02/06/28 00:21
233はプログラミングしたことがないのか?
pがエネルギーだぜ


237 :デフォルトの名無しさん:02/06/28 05:06
>>236
つっこみどころが違う。
「反比例」なら y = a / x の形でしょ。

238 :106:02/06/28 20:57
ヤター!おれのページがぐぐるとヒットするようになたーよ。
>>225で予告した文章をまだアップしていないのに
Secrets from the Robocode mastersがまた一つ増えてました。精進せねば。

239 :デフォルトの名無しさん:02/06/28 21:10
teraがおわったので、本日から参戦します。

だいぶわかってきたけど、初めはどうしたらいいとおもう?

240 :デフォルトの名無しさん:02/06/28 21:15
つうか、反重力移動ってオレがteraでやってたのと同じだ。
距離の二乗で割るのが正しいのか。 距離を引き算してた。

241 :デフォルトの名無しさん:02/06/29 21:43
コレ、例外のキャッチが出来なくないですか?

242 :デフォルトの名無しさん:02/06/30 10:45
>>240
おれもテラリウムで鍛えればよかったかな。
重力は距離の2乗に反比例するからanti-gravity movementというネーミングは秀逸だと思う。
もっとも必ずしも'2'乗じゃなくてもよいということをAlisdair Owensは書いてる。
>>241
できるよ。

243 :241:02/06/30 11:42
double zero = 0, x = 0;
try {
x = 1 / zero;
}
catch (ArithmeticException e) {
out.println("arithmetic");
}
catch (RuntimeException e) {
out.println("runtime");
}
catch (Exception e) {
out.println("top exception");
}
finally {
out.println("x = " + x);
}
これをrun() { while(true) の先頭に置いてみたのですが、finallyでの出力しかでてこないのです。。

244 :241:02/06/30 11:44
あーちなみに
x = Infinity
と出力されます。(そもそも例外が発生しない?)

245 :デフォルトの名無しさん:02/06/30 20:14
244
> (そもそも例外が発生しない?)
その通り。Java言語仕様(JLS)第2版の§15.6には
> ●整数の除算演算子(§15.17.2)、あるいは整数の剰余演算子(§15.17.3)では、
> 右手側のオペランド式の値がゼロである場合、ArithmeticExceptionがスローされる。
とある。>>243のコードでxとzeroをint型にでもしてみるとしっかり例外がスローされるよ。

246 :241:02/06/30 22:07
おおおでた!でました例外!!
なるほどそういうことだったのかー

>>245さんありがとうです〜

247 :デフォルトの名無しさん:02/06/30 22:52
2日目だけど、サンプルは撃破。
基本的によけてれば相手が自滅してくる。。

248 :デフォルトの名無しさん:02/07/01 00:12
jollyninjaに全勝してしまった。。。

249 :デフォルトの名無しさん:02/07/01 00:36
>>248
すごいっすね。
Rumbleにウプしたらかなりいいとこまでいくのでは?

250 :デフォルトの名無しさん:02/07/01 00:48
天皇の前を歩く、金大中犬。
天皇窮屈そうに犬の後ろを歩く、哀れ。
http://www.asahi-net.or.jp/~he9n-tkis/oobakamono.mpg


251 :106:02/07/01 12:40
http://www.geocities.co.jp/SiliconValley/9155/
http://www.geocities.co.jp/SiliconValley/9155/library/tippoly.html
「Robocodeマスターの秘密: 多態的な敵のキャッシュ」をアップしました。
Robocodeの最新バージョンが1.0.3になりましたね。
メソッドがいくつか追加されているので訳さなければ。
http://robocode.alphaworks.ibm.com/home/versions.txt

252 :デフォルトの名無しさん:02/07/01 19:21
import robocode.*;
public class DodgeBot extends AdvancedRobot{
double previousEnergy = 100;
int movementDirection = 1;
int gunDirection = 1;
int bulletPower=1;
int count=0;
int safeDistance=30;
double bear=0;
double dist=0;
final int ROBOT_RADIUS=10;
public void run() {
setTurnGunRight(99999);
}
public void onScannedRobot(
ScannedRobotEvent e) {
dist=0;bear=0;
// Stay at right angles to the opponent
if (e.getDistance() > 230)
setTurnRight(e.getBearing()+90-30*movementDirection);
else
setTurnRight(e.getBearing()+90);
//- 90*movementDirection);

// If the bot has small energy drop,
// assume it fired
double changeInEnergy =
previousEnergy-e.getEnergy();
if (changeInEnergy>0 &&
changeInEnergy<=3) {
// Dodge!
if(count%2==0)movementDirection =
-movementDirection;
count++;
setAhead((e.getDistance()/5+100)*movementDirection);
}
// When a bot is spotted,
// sweep the gun and radar
gunDirection = -gunDirection;
setTurnGunRight(99999*gunDirection);
if (e.getDistance() <20)
fire(3);
else
if (e.getDistance() <50)
fire(2);
else
if (e.getDistance() <100)
fire(2);
else if (e.getDistance() <300||e.getEnergy()<10 )
fire(1);
else
fire(0.1);
// Track the energy level
previousEnergy = e.getEnergy();
}

}


253 :↑↑:02/07/01 19:23
jollyninjaに勝つコード。
相性なんだろうけどね。TRONには勝てない。


254 :↑↑:02/07/01 19:29
まだ、2日目だからいぢめないでね。
勉強のため、DodgeBot を改良しただけです。

255 :デフォルトの名無しさん:02/07/05 12:53
キタ━━━━━━(゚∀゚)━━━━━━━!!!!!
http://www-6.ibm.com/jp/developerworks/java/020705/j_j-robocode2.html

256 :106:02/07/05 16:52
>>255
うーむ、さすがプロの翻訳、すばらしい。
今夜にでもおれが訳した文は削除しとこっと。

257 :106:02/07/05 21:21
http://www.geocities.co.jp/SiliconValley/9155/
http://www.geocities.co.jp/SiliconValley/9155/library/tipreuse.html
「Robocodeマスターの秘密: 拡張/再利用可能なロボット」
をアップしときました。

258 :デフォルトの名無しさん:02/07/05 23:14
>>257
おつかれさんです。プロの翻訳も良いけど、
106さんのおかげで日本語が早く読めるので感謝してます。1009

259 :デフォルトの名無しさん:02/07/07 09:48
相手より多く勝ち残っても相手が勝つ場合があるけど、
どういうルールなの?

260 :デフォルトの名無しさん:02/07/07 17:08
Javaインストールで、JREとSDKってあるんですけど
どっちをインストールしたら良いんですか?

261 :デフォルトの名無しさん:02/07/07 18:21
>>260
SDKにしておけば問題はすくないかも

262 :PC用語くらいちゃんと使え委員会 ◆u/7XlPOM :02/07/07 18:23
>>260
PCQAの答えでは不服かい?w

263 :デフォルトの名無しさん:02/07/10 13:21
>>259
http://robocode.alphaworks.ibm.com/help/scoring/scoring.html
得点の計算方法はこんな感じ。

Total Score -> 総得点
Survival Score -> 他のロボットが死んだときに50
Last Survivor Bonus -> 最後まで生き残ったら10
Bullet Damage -> 弾丸によって敵に与えたダメージ1につき1
Bullet Damage Bonus -> 敵に止めを刺したときのボーナス
            弾丸によってその敵に与えてきたダメージ1につき0.2
Ram Damage -> ぶつけることによって敵に与えたダメージ1につき1
Ram Damage Bonus -> 敵に止めを刺したときのボーナス
       ぶつけることによってその敵に与えてきたダメージ1につき0.2
1sts, 2nds, 3rds -> 点数計算には影響を与えない

264 :263:02/07/10 13:27
age忘れた。
ところでRobocodeはゲーム製作板向きではないと思うが。やっぱりム板だろ。

265 :デフォルトの名無しさん:02/07/10 18:05
意味がいまいちわからん。
ゲー製板に行く話でも出てたの?

266 :デフォルトの名無しさん:02/07/10 19:15
>>265
この板のローカルルール(どうやら今日表示されたらしい)には
> ゲーム関係の話題はゲーム製作板へどうぞ。
って書いてあるんよ。

267 :デフォルトの名無しさん:02/07/11 01:21
>>266
ああ、なるほどね。
ム板で良いんじゃないの?ちゃんと言語扱ってるわけだし。
そこらでのさばってるネタスレよかよっぽど面白いし。

268 :デフォルトの名無しさん:02/07/12 13:25
http://www-6.ibm.com/jp/developerworks/java/020712/j_j-nelson.html
AlphaBot: Robocodeの生みの親Mat Nelson氏へのインタビュー

65 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)