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
300
Javaはレガシーではない!
shogonakao
0
320
SpringBootでAPI開発
shogonakao
0
110
エキサイトブログ刷新に向けて
shogonakao
0
58
【エキサイトブログリビルド】Spring Boot × MyBatis × FreeMarker を使って、データベースの接続先を安全に変更します。
shogonakao
1
610
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Automating Front-end Workflow
addyosmani
1366
200k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
It's Worth the Effort
3n
183
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Gamification - CAS2011
davidbonilla
80
5.1k
The Invisible Side of Design
smashingmag
298
50k
4 Signs Your Business is Dying
shpigford
181
21k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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とは
今後の野望
今後の野望