カーテンコール

銀行を襲撃なんてしません。

頭おサルさんの文系出身者でもできるポケモン剣盾マイコン自動化(ロトムくじ自動化)

※タイトルの通り、当方は頭おサルの文系人間なので、専門知識は一切持ち合わせておらず、質問には一切お答えできません。
万一ではありますが、この記事によって生じる損害について一切の責任を筆者は負いかねますので、全て自己責任でお願いします。

 

私の環境下できちんと作動したソースコードです。

先述の通り、頭おサルの人間が人真似で書いたものなので無駄等あると思います。

適宜修正して使用してください。

マイコンをSwitchに繋いでから実際にコード通りのコマンドを実行するまでにしばらくラグがあるようなので、最初に無意味な動作を入れています。)

(日付を変更してゲーム画面に戻った直後(画面が暗転するタイミング)、コマンド入力を受け付けない?時間があるように思われるので、無意味な動作を入れています。)

日付を進めるだけの無限ループです。効率を求めるのであれば、月を増やしたり年を増やしたり、その他、高速乱数消費のときのように、For~While構文を使って任意の回数日付を進めたら停止する(ように見える)コードにしたり、必要な方はご自身で適宜コードを書き換えてください。

ボックスの前に立ち、Aボタンを押せばボックスが起動する位置で開始してください。

 

【2月8日追記】

このコードで丸二日ループし続けることを確認しましたが、それ以上の長時間の動作を保証するものではありませんので、予めご了承ください。

 

 

 

#include <SwitchControlLibrary.h>

void setup(){
   SwitchControlLibrary().PressButtonL();
    delay(500);
    SwitchControlLibrary().PressButtonR();
    delay(500);
    SwitchControlLibrary().ReleaseButtonL();
    delay(500);
    SwitchControlLibrary().ReleaseButtonR();
    delay(500);
}

void loop() {
  SwitchControlLibrary().PressButtonL();
    delay(50);
    SwitchControlLibrary().PressButtonR();
    delay(50);
    SwitchControlLibrary().ReleaseButtonL();
    delay(50);
    SwitchControlLibrary().ReleaseButtonR();
    delay(50);
    
  // ホーム画面
  SwitchControlLibrary().PressButtonHome();
  delay(50);
  SwitchControlLibrary().ReleaseButtonHome();
  delay(400);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(1200);
  // 設定画面
  SwitchControlLibrary().MoveHat(4); // down
  delay(1500);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(500);
  // 時間設定
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(4); // down
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(500);
  // 時間の変更
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(2); // right
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(50);
  SwitchControlLibrary().MoveHat(0); // up
  delay(50);
  SwitchControlLibrary().MoveHat(8); // center
  delay(100);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(50);
  SwitchControlLibrary().PressButtonA();
  delay(50);
  SwitchControlLibrary().ReleaseButtonA();
  delay(200);
  
  SwitchControlLibrary().PressButtonHome();
  delay(50);
  SwitchControlLibrary().ReleaseButtonHome();
  delay(500);
  
  SwitchControlLibrary().PressButtonA();
  delay(100);
  SwitchControlLibrary().ReleaseButtonA();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  SwitchControlLibrary().PressButtonB();
  delay(100);
  SwitchControlLibrary().ReleaseButtonB();
  delay(100);
  
  SwitchControlLibrary().PressButtonA();
  delay(500);
  SwitchControlLibrary().ReleaseButtonA();
  delay(500);
  SwitchControlLibrary().PressButtonA();
  delay(100);
  SwitchControlLibrary().ReleaseButtonA();
  delay(500);
  SwitchControlLibrary().MoveHat(4); // down
  delay(100);
  SwitchControlLibrary().MoveHat(8); // center
  delay(300);
  SwitchControlLibrary().PressButtonA();
  delay(300);
  SwitchControlLibrary().ReleaseButtonA();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonA();
  delay(300);
  SwitchControlLibrary().ReleaseButtonA();
  delay(300);
   delay(500);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
   delay(2000);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
   delay(2000);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
  SwitchControlLibrary().PressButtonB();
  delay(300);
  SwitchControlLibrary().ReleaseButtonB();
  delay(300);
    
}