Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
robocodeの戦闘情報を記録する.pdf
Search
Naka Sho
November 11, 2024
0
17
robocodeの戦闘情報を記録する.pdf
Naka Sho
November 11, 2024
Tweet
Share
More Decks by Naka Sho
See All by Naka Sho
型安全性で考えること
shogonakao
0
60
OSS公開までの流れ
shogonakao
0
280
Javaはレガシーではない!
shogonakao
0
300
SpringBootでAPI開発
shogonakao
0
110
エキサイトブログ刷新に向けて
shogonakao
0
58
【エキサイトブログリビルド】Spring Boot × MyBatis × FreeMarker を使って、データベースの接続先を安全に変更します。
shogonakao
1
600
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Building Adaptive Systems
keathley
38
2.3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Music & Morning Musume
bryan
46
6.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Faster Mobile Websites
deanohume
305
30k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Transcript
robocodeの戦闘情報を記録する 中尾正剛 PayPayカード株式会社 https://x.com/web_shogo_nakao
私について 経歴 2011/04 SES(中小企業) 2015/01 (Web系)株式会社セレス 2020/10 (Web系)エキサイト株式会社 2023/11 (金融系)PayPayカード株式会社
PayPayカード株式会社 - プロダクト1本部 - プロダクト開発部 - プロダクト開発5グループ(SRE)
目次 はじめに 01 02 03 04 05 robocodeとは robocodeの戦闘情報を記録する 今後の野望
まとめ
はじめに 概要 Robocode は、対戦型のロボットシミュレーションゲームです。 ロボット(戦車型ロボット)をプログラミングして、他の人が作ったロボットコードと対戦さ せることが可能です。 ロボットを動作させるフレームワークが用意されているので、ロボットコードの作成に専念す ることができます。 対戦で勝ち残るために色々と工夫してプログラミングしていくことで、楽しくプログラミング が学習できるようになっています。
当初、プログラミング言語には Java が採用されていましたが、最新版では .NET(C#など) もサポートされていて、JavaScript、Pythonで作ることもできるようです。
robocodeとは バトルルール 対戦形式: 2台以上のロボットが戦闘を行う。 勝利条件: 相手ロボットを撃墜すること。 ロボットの機能: 移動 (前進、後退、回転)。 武器
(主砲、副砲、レーダー)。 主砲でダメージを受ける。 主砲を使うと体力が減る。 体当たりでダメージを与える。/体当たりされるとダメージを受ける。 実装制限: 自作プログラムのみ使用可能。 外部APIの使用は禁止。 メモリ/CPUリソース使用にも制限あり。
robocodeとは
robocodeとは
robocodeとは
操作種類 引数 コマンド 車体前進 距離 forward() 車体後退 距離 back() 車体回転(右)
角度 turnRight() 車体回転(左) 角度 turnLeft() 砲塔回転(右) 角度 turnGunRight() 砲塔回転(左) 角度 turnGunLeft() レーダー回転(右) 角度 turnRaderRight() レーダー回転(左) 角度 turnRaderLeft() 砲撃 火力 fire() robocodeとは
robocodeとは @Override public void run() { // Repeat while the
bot is running while (isRunning()) { forward(100); turnGunRight(360); back(100); turnGunRight(360); } }
robocodeとは @Override public void onScannedBot(ScannedBotEvent e) { fire(1); }
robocodeとは @Override public void onHitByBullet(HitByBulletEvent e) { // Calculate the
bearing to the direction of the bullet var bearing = calcBearing(e.getBullet().getDirection()); // Turn 90 degrees to the bullet direction based on the bearing turnLeft(90 - bearing); }
robocodeの戦闘情報を記録する バトルルールの 外部APIの使用は禁止。 ー>ファイルに書き込みはOK
robocodeの戦闘情報を記録する バトルルールの 外部APIの使用は禁止。 ー>ファイルに書き込みはOK ー>fluent-bit使って戦闘記録を集計できるんじゃね?
robocodeとは
robocodeの戦闘情報を記録する やってみる
robocodeとは
今後の野望
今後の野望