【ポケモン剣盾】Arduinoを使った自動レイド配布プログラム

 こんにちは、ひいらぎです。つい先日、色ニャビーを量産したくてArduinoで自動レイド配布をしようと思ったんですけどプログラムが無くて困ったのでブログに残そうと思います。

使用条件は

  • オフラインであること
  • 巣穴の前で、Aボタンを押したら挑戦画面を開けること
  • このサイトのライブラリを使えるようにしておくこと

です。

以下ソースプログラム、パスワードの変更についてはこれの後に書きます。

#include <auto_command_util.h>

void UhunAhanIyan(){
//YY通信でネットに接続
  pushButton(Button::Y, 1000);
  pushButton(Button::PLUS, 5000);
  pushButton(Button::B, 1000,10);
  delay(3000);//回線が良い人はここを2000とかにしてもOK
// 募集開始
  pushButton(Button::A, 3000);
//パスワード設定12222222、パスを変えたい人はここを変える
  pushButton(Button::PLUS, 1000);
  pushButton(Button::A, 100);//1
  pushHatButton(Hat::RIGHT, 100, 1);
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::A, 100);//2
  pushButton(Button::PLUS, 1000);//パス確定
  pushButton(Button::A, 300);//はい
  pushButton(Button::A, 9000);
  delay(70000);//残り1分45秒になったら開始する、増減はお好みで
  pushHatButton(Hat::UP, 100, 1);
  pushButton(Button::A, 300);
  pushButton(Button::A, 300);
  pushButton(Button::A, 300);
  pushButton(Button::A, 300);
  pushButton(Button::A, 300);
  delay(13000);
// ホーム画面 > 再起動
  pushButton(Button::HOME, 1000);
  pushButton(Button::Y, 1500);
  pushButton(Button::A, 100);
  delay(5000);
  pushButton(Button::A, 300);
  pushButton(Button::A, 300);
  delay(15000);
  pushButton(Button::A, 300);
  delay(15000);
}

// ワット回収済みのねがいのかたまりを投げ入れた巣穴の前からスタート
void setup(){
  pushButton(Button::B, 500, 4); // 最初の数回の入力はswitchが認識しない場合があるので、無駄打ちをしておく
}

void loop(){
  UhunAhanIyan();
}

 

・パスワードについて
 パスの入力画面の初期位置は"1"なので、パスの入力画面を開いた後にAボタンを押すと"1"が入力されます。このプログラムでは1222 2222がパスになっていて、"1"を入力した後に"2"を入力するために右ボタンを一度押しています。なのでプログラムの流れとしては、[A→AAAAAAA]という感じ。もし1234 5678にするには[A→A→A←←↓A→A→A←←↓A→A→A]という流れでプログラムを組めばOKです。上下左右のコマンドは以下の表の通り。これを元にソースコードの該当部分を書き換えてください。

f:id:AmamiyaSora:20211007152853p:plain
図. パスワード1234 5678のボタンを押す流れ

表. 上下左右に対するコード(はてなブログで表にタイトル付けるやり方わからんかった)

方向 コード
pushHatButton(Hat::UP, 100, 1);
pushHatButton(Hat::DOWN, 100, 1);
pushHatButton(Hat::RIGHT, 100, 1);
pushHatButton(Hat::LEFT, 100, 1);

ということで以上になります、良きポケモンライフを!