レジェンズアルセウス自動化 シンジュ団 [かちぬき道1周5分]


0.はじめに
ポケモンレジェンズアルセウスのエンドコンテンツ「かちぬき道」。
ボタンを押すだけでクリアできる単純な作業を、自動化してみました。
シンジュ団は入手困難な「ピートブロック」が報酬として用意されていて、周回速度も速いので放置に向いております。

<実際のプレイ動画>
https://youtu.be/2sJCMc0tSBs


<ギンガ団 自動周回>


<コンゴウ団 自動周回>
https://note.com/tender_tulip728/n/nc4638977e9a6



1.マイコン導入
導入までは私自身が完璧に理解していないので、他の著者が紹介している導入方法を調べて実施してください。

・開発ボード 
著者使用: 他の著者がオススメされていたものを購入して使っています。

・Arduino IDEインストール

・参考にさせていただいた文献

・使わせていただいたライブラリ
NintendoSwitchControlLibrary

ライブラリが初心者でも扱えるように作ってありオススメです。
一般的によく使われる入力パターンが用意されていることもあって、私のような知識がない者でも簡単に作成することができました。


2.できること
・「かちぬき道」シンジュ団 1周5分で周回。

報酬:(シンジュ団)
・「けいけんアメXL」×3

1時間程度でレベル1のポケモンをレベル100まで育てることができます。
※けいけんアメXLを1時間で36個ほど手に入れることができます。
※ヒノアラシのレベル5 ⇒ レベル100まで36個で到達できます。

・「ポケモン進化アイテム」×1

くろいきせき
するどいキバ
するどいツメ
こおりのいし
ほのおのいし
めざめいし
ピートブロック

使い道:
・剣盾やBDSPから対応しているポケモンを輸送してレベルを一気に上げる。

それぞれの組織で報酬が違いますので、目的の報酬を確認して周回してください。

<ギンガ団>
<コンゴウ団>https://note.com/tender_tulip728/n/nc4638977e9a6



3.事前準備
・アルセウスをゲットする。(任務27:神と呼ばれるポケモン)
・かちぬき道のコンゴウ団を解放し、シンジュ団を5回目まで解放しておく。
・アルセウスをレベル100にしておく。
・アルセウスを素早さ上昇補正、攻撃と特攻に下降補正がかかっていない性格に変えておく。
・アルセウスの攻撃、特攻、素早さのがんばレベルを10にしておく。
・アルセウスにレジェンドプレートを使用しておく。

・覚えている技を下記のようにセットする。
①でんこうせっか(皆伝必須)
②エナジーボール
③あくのはどう
④さばきのつぶて

・手持ちをアルセウス1匹にしておく。
(しなくても大丈夫かも?※要検証)
・ノボリの前で待機。

以上です。


4.ソースコード

/**
 * かちぬき道を1周5分でクリア。
 *
 * <事前準備>
 * 1.アルセウスをゲットする。(任務27:神と呼ばれるポケモン)
 * 2.かちぬき道のコンゴウ団を5回目まで解放しておく。
 * 3.アルセウスをレベル100にしておく。
 * 4.アルセウスを素早さ上昇補正、攻撃と特攻に下降補正がかかっていない性格に変えておく。
 * 5.アルセウスの攻撃、特攻、素早さのがんばレベルを10にしておく。
 * 6.アルセウスにレジェンドプレートを使用しておく。
 * 7.覚えている技を下記のようにセットする。
 * でんこうせっか(皆伝必須)
 * エナジーボール
 * あくのはどう
 * さばきのつぶて
 * 8.ノボリの前で待機
 * 
 */

// ライブラリ読み込みコード
#include <NintendoSwitchControlLibrary.h>

// セットアップ
void setup() {
// 待機時間
    pushButton(Button::B, 500, 5);
}

// 下記ループ
void loop() {
    pushButton(Button::A, 1500);
    pushButton(Button::A, 1500);
    
// かちぬき道を選択
    pushHat(Hat::DOWN, 1000);
    pushButton(Button::A, 1500);
    pushButton(Button::A, 1500);
    
// シンジュ団を選択
    pushHat(Hat::DOWN);
    pushHat(Hat::DOWN);
    pushButton(Button::A, 1500); 
    pushButton(Button::A, 1500);

// キクイ会話   
    pushButton(Button::A, 6000);
    pushButton(Button::A, 5500);
    pushButton(Button::A, 14000);
// キクイ(1戦目)    
    pushButton(Button::A, 700);
    pushButton(Button::L, 500);
    pushButton(Button::A, 9000); 
    pushButton(Button::ZL, 500);
    pushButton(Button::ZL, 500);
    pushButton(Button::A, 700);
    pushHat(Hat::DOWN);
    pushButton(Button::A, 700);
    pushButton(Button::A, 13000);
    pushButton(Button::A, 700);
    pushHat(Hat::DOWN);
    pushHat(Hat::DOWN);
    pushButton(Button::A, 700);
    pushButton(Button::A, 19000);
    pushButton(Button::A, 700);
    pushHat(Hat::UP);
    pushHat(Hat::UP);
    pushButton(Button::A, 700);
    pushButton(Button::A, 20000);
    
// ハマレンゲ会話
    pushButton(Button::A, 1000);
    pushButton(Button::A, 1000);
    pushButton(Button::A, 13000);
// ハマレンゲ(2戦目)
    pushButton(Button::ZL, 800);
    pushButton(Button::A, 700);
    pushButton(Button::L, 500);
    pushButton(Button::A, 8000);
    pushButton(Button::ZL, 800);
    pushButton(Button::ZL, 800);
    pushButton(Button::A, 700);
    pushHat(Hat::UP);
    pushButton(Button::A, 700);
    pushButton(Button::A, 21000);
    pushButton(Button::A, 700);
    pushHat(Hat::UP);
    pushHat(Hat::UP);
    pushButton(Button::A, 700);
    pushButton(Button::A, 8000);
    pushButton(Button::A, 700);
    pushHat(Hat::DOWN);
    pushButton(Button::A, 700);
    pushButton(Button::A, 18000);
    
    
// カイ会話
    pushButton(Button::A, 1500);
    pushButton(Button::A, 1500);
    pushButton(Button::A, 13500);
// カイ(3戦目)
    pushButton(Button::A, 700);
    pushButton(Button::L, 500);
    pushButton(Button::A, 9500);    
    pushButton(Button::ZL, 500);
    pushButton(Button::A, 700);
    pushButton(Button::A, 6000);
    pushButton(Button::A, 500);
    pushButton(Button::A, 7500);
    pushButton(Button::A, 700);
    pushButton(Button::A, 6000);
    pushButton(Button::A, 500);
    pushButton(Button::A, 7500);
    pushButton(Button::A, 700);
    pushHat(Hat::UP);
    pushButton(Button::A, 700);
    pushButton(Button::A, 21000);
    pushButton(Button::B, 500, 20);

}

5.マイコンをswitchに差し込む
マイコンを接続すると自動でスタートします。
あとはループするので放置で大丈夫です。
※動作環境にあわせて押下後のデュレイを変更してください。


6.工夫したところ
全体:
前回と同じように、被弾することで回転率を上げています。
被弾覚悟なので、急所+技の追加効果分のデュレイを多めに設定しております。

アルセウスのレジェンドプレートによる、さばきのつぶて後のタイプ変更で、敵からの攻撃をある程度コントロールしています。

例:
<オニゴーリ>
・ふぶき(ほのおタイプ、はがねタイプ半減)
・かみくだく
・じならし
・アイアンヘッド(ほのおタイプ、はがねタイプ半減)
さばきのつぶての仕様上、オニゴーリの攻撃を半減できて、オニゴーリに効果抜群をとれるほのおタイプか、はがねタイプに変更されます。

<ユキメノコ>
・こおりのキバ
・シャドーボール
・10まんボルト
・みずのはどう(ほのおタイプへ抜群)
直前のオニゴーリでほのうタイプ、はがねタイプのどちらかへタイプが変更されているので、こおりのキバは絶対に撃ってきません。

ほのおタイプへは「みずのはどう」を確定で撃ってきます。

問題のはがねタイプのときに「シャドーボール」か「10まんボルト」ですが、「シャドーボール」しか撃ってきませんでした。

理由はわかりません(/・ω・)/笑

キクイ戦:
マンムーからの被弾を受け入れる。
マンムーは「10まんばりき」か「ステレスロック」しか使ってこないので、被弾しても問題ありません。

ハマレンゲ戦:
ユキメノコからの被弾を受け入れる。
ユキメノコは「シャドーボール」か「みずのはどう」しか使ってこないので、被弾しても問題ありません。

カイ戦:
ずっと俺のターン・・( ;∀;)
無傷で終わります。


7.最後に

ここまでお読みいただきありがとうございました。

いいなと思ったら応援しよう!