Upgrade to Pro — share decks privately, control downloads, hide ads and more …

robocodeの戦闘情報を記録する.pdf

Naka Sho
November 11, 2024
17

 robocodeの戦闘情報を記録する.pdf

Naka Sho

November 11, 2024
Tweet

Transcript

  1. 私について 経歴 2011/04 SES(中小企業) 2015/01 (Web系)株式会社セレス 2020/10 (Web系)エキサイト株式会社 2023/11 (金融系)PayPayカード株式会社

    PayPayカード株式会社 - プロダクト1本部  - プロダクト開発部 - プロダクト開発5グループ(SRE)
  2. robocodeとは バトルルール 対戦形式: 2台以上のロボットが戦闘を行う。 勝利条件: 相手ロボットを撃墜すること。 ロボットの機能: 移動 (前進、後退、回転)。 武器

    (主砲、副砲、レーダー)。 主砲でダメージを受ける。 主砲を使うと体力が減る。 体当たりでダメージを与える。/体当たりされるとダメージを受ける。 実装制限: 自作プログラムのみ使用可能。 外部APIの使用は禁止。 メモリ/CPUリソース使用にも制限あり。
  3. 操作種類 引数 コマンド 車体前進 距離 forward() 車体後退 距離 back() 車体回転(右)

    角度 turnRight() 車体回転(左) 角度 turnLeft() 砲塔回転(右) 角度 turnGunRight() 砲塔回転(左) 角度 turnGunLeft() レーダー回転(右) 角度 turnRaderRight() レーダー回転(左) 角度 turnRaderLeft() 砲撃 火力 fire() robocodeとは
  4. robocodeとは @Override public void run() { // Repeat while the

    bot is running while (isRunning()) { forward(100); turnGunRight(360); back(100); turnGunRight(360); } }
  5. 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); }