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
21
robocodeの戦闘情報を記録する.pdf
Naka Sho
November 11, 2024
Tweet
Share
More Decks by Naka Sho
See All by Naka Sho
Spring Shellの使い方
shogonakao
0
11
型安全性で考えること
shogonakao
0
60
OSS公開までの流れ
shogonakao
0
310
Javaはレガシーではない!
shogonakao
0
320
SpringBootでAPI開発
shogonakao
0
110
エキサイトブログ刷新に向けて
shogonakao
0
58
【エキサイトブログリビルド】Spring Boot × MyBatis × FreeMarker を使って、データベースの接続先を安全に変更します。
shogonakao
1
610
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Designing for Performance
lara
604
68k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Being A Developer After 40
akosma
87
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
430
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The Pragmatic Product Professional
lauravandoore
32
6.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Facilitating Awesome Meetings
lara
50
6.1k
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とは
今後の野望
今後の野望