デフォルトの実装コマンド(シリアル通信 Python) - KawaSwitch/Poke-Controller GitHub Wiki

デフォルトで使用できるシリアル通信用コマンドを掲載しています
コマンドの使用や自作コマンドの作成の際に参考にしてください

ここに掲載しているコマンドはすべて動作確認済みです
※端末や動作環境の違いによってコマンドのずれが起こる場合があります

不具合や誤動作など何か問題があればお気軽にIssueまでご連絡お願いいたします
また作成したコマンドをプルリクエストしてくださるのは大歓迎です

<注意事項>
初回のマイコン差し込み時は何かボタンを押すなどしてコントローラ認識を行ってください

画像認識 なし/任意 コマンド

キャプチャボードなし: 画像認識なしで実行
キャプチャボードあり: 画像認識ありのコードとして実行
画像認識へ移行するかどうかはコマンドの実装によって異なります

A連打

A連打

Aボタンを等間隔で押下します

前準備

特になし

動作

Aボタンを連打します
主に穴掘り兄弟での使用を想定


リーグ自動周回

リーグ自動周回

リーグを画像認識なしで周回します

前準備

  • 手持ちにザシアン1体のみを加える
    • くちたけん を持たせる
    • 技をアイアンヘッドのみ

周回効率をあげるならば

  • 攻撃上方補正の性格/ミント使用(推奨:いじっぱり)
  • 攻撃に努力値を最大の252振る
  • アイアンヘッドのPPを増やしておく

リーグトーナメントの受付に話しかけれる状態にしておく

動作

Aを数回連打した後にBを押下します
ザシアンがいない場合やより詳しい説明は発案元を参考にしてください


自動逃がし/自動リリース

自動リリース

1ボックス全てのポケモンを逃がします

前準備

プラスボタンで技構成のあるステータス画面を表示するようにしておく
ボックス内の持ち方を「つうじょう」にする(デフォルトの赤い矢印の状態)

ボックスを開き一番左上のポケモンにカーソルを合わせる

動作

<画像認識なし>
1ボックスすべてのポケモンを逃がします. 空きは不可

<画像認識あり>
空いている箇所(空白or卵)があればスキップする
色違いであればスキップする(後実装で選択式に変更予定)


(ランクマッチバグ使用)無限ワット取得 自動化

無限ワット(ランクマ)

ランクマッチバグを使用してワットを自動で取得します

前準備

ランクマッチに一戦潜る(シングルorダブル)
Switch側の本体設定で「インターネットで時間を合わせる」をOFFにしておく.
無限ワット対象の巣の200W/2000Wの光は消しておく.
レイドのある巣を選ぶ場合倒しておくかレイドの無い巣を選ぶ.

「ねがいのかたまり」を巣に投げてレポート書いた後, スタート

動作

2000Wを取得→時渡り→ワット復活→2000Wを取得...の繰り返し


(ランクマッチバグ使用)無限IDくじ 自動化

無限IDくじ(ランクマ)

ランクマッチバグを使用してポケモンセンターのロトミのIDくじ引きを無限に行います

前準備

ランクマッチに一戦潜る(シングルorダブル)
Switch側の本体設定で「インターネットで時間を合わせる」をOFFにしておく.

ポケモンセンターの機械(ロトミ)の話しかける位置に立つ

動作

IDくじ引く→時渡り→IDくじ引く...の繰り返し


(ランクマッチバグ使用)無限きのみ取得 自動化

無限きのみ(ランクマ)

ランクマッチバグを使用してきのみを取得し続けます

前準備

ランクマッチに一戦潜る(シングルorダブル)
Switch側の本体設定で「インターネットで時間を合わせる」をOFFにしておく.

自転車からは降りておく
きのみを収穫したい木の話しかける位置に立つ

動作

<画像認識なし>
野生のポケモンが降ってこない1回目だけ取得して終了し時渡り

<画像認識あり> Experimental
画像認識を用いてゆれが強くなったら終了し時渡り
晴れなどの差分画像の変化が生じにくい天候に調整しておく(日付変更等)
画面上半分に変化が生じにくい方向を向いておく


(ランクマッチバグ使用)シュートシティカフェ 自動化

無限カフェ(ランクマ)

ランクマッチバグを使用してカフェバトルの自動化を行います

前準備

ランクマッチに一戦潜る(シングルorダブル)
Switch側の本体設定で「インターネットで時間を合わせる」をOFFにしておく.
Xメニューのタウンマップを左上に移動させてカーソルを合わせておく(Yボタンで入れ替え可能)
戦闘アニメーションをOFFにしておく
PPを回復しておく

必要なポケモン
マジカルシャインを覚えさせたブリムオン100レベルCS極振り
マジカルシャインを技構成の一番上にしておく

ブリムオンよりSが低く戦闘開始時に特性が表示されないポケモン(レベルUP演出省略のため100レベル推奨)
私はレイド用のHA極振りのニャイキングを使ってます

1: 上記ポケモンをブリムオン先頭にして2匹だけいれておく(戦うには2匹以上必要)
2: シュートシティのカフェで話しかける位置に立つ

動作

マジカルシャインのデフォルトPPである10回の対戦を行う.
その後ポケモンセンターへ回復しに行き, 再び対戦...の繰り返し


(ランクマッチバグ使用)羽取得 自動化

無限羽回収(ランクマ)

ランクマッチバグを使用して5番道路の橋の上の羽を回収します
PR #8で頂きました

前準備

ランクマッチに一戦潜る(シングルorダブル)
Switch側の本体設定で「インターネットで時間を合わせる」をOFFにしておく.

Xメニューのタウンマップにカーソルを合わせておく
5番道路で自転車に乗っておく

動作

5番道路の預かり屋へ移動(空を飛ぶ)
その後, 橋の上の羽を取得し時渡り, 預かり屋へ移動...の繰り返し


画像認識 必須 コマンド


カセキポケモン 色違い厳選

カセキ色厳選(パッチラゴン/パッチルドン/ウオノラゴン/ウオチルドン)

指定したカセキポケモンの色違いが出るまで化石を復元し続けます
PR #10で頂きました
※v1.0リリース版以降はオプション機能を用いてコマンドを1つに統一予定

前準備

画像付きのPR #10を要参照

下記準備後, レポートを書いておく(メニューからRボタンでカーソル位置不変)

  • 厳選したい化石ポケモンのカセキを最低30個、残り全種のカセキを最低1個所持していること
  • カセキ復元のウカッツの目の前にいる状態
  • 手持ちが6体全て埋まっていて、ボックスを開いたときに空ボックスであること
    また、プラスボタンで技構成のあるステータス画面を表示するようにしておく
  • メニューを開いたときのカーソル位置とポケモンの位置が写真の位置にあること

動作

1ボックス分(30匹)の化石ポケモンを受け取る
ボックスを開いて色違いがいるかどうか確認し, 居なければリセット
色違いがいた瞬間にコマンドを終了する


手持ち孵化

固定数孵化(画像認識)

手持ちの卵をすべて孵化します
孵化歩数の設定は必要ありません
ボックスを含む全卵の孵化へ更新する予定

前準備

  • 孵化したい卵を手持ちにいれておく
  • ワイルドエリアの預かり屋へ移動しておく(タウンマップで移動した後何もしない)
  • 自転車へ乗っておく

動作

ワイルドエリアをぐるぐる回り卵の「おや?」のメッセージを合図に孵化
これを手持ちすべての卵孵化まで繰り返す
5匹孵化したら終了ですがそれ以下の場合は手動でストップを押してください


自動孵化 Experimental

仮:自動孵化(画像認識)

自動で孵化および厳選作業を行います
孵化歩数の設定は必要ありません

前準備

  • ボックス内においてプラスボタンでステータス画面を技表示にしておく
  • 空にしたボックスを選択した状態で終了
  • 手持ちポケモンを1匹(特性:ほのおのからだ を推奨)にしておく

  • ワイルドエリアのハシノマ原っぱの預かり屋が首をかしげている状態
  • 自転車へ乗っておく

  • メニューの「タウンマップ」の右側に「ポケモン」を移動しておく(Yボタンで移動可能)

上の準備を行った後, タウンマップを開きワイルドエリアのハシノマ原っぱへ移動する
移動した後は一切操作せず, コマンドをスタートする

動作

ワイルドエリアのハシノマ原っぱにて
卵を貰い1匹孵化→タウンマップで定位置に戻る→卵を貰い1匹孵化...を繰り返し
5匹孵化した時点でボックスへ格納
上記を繰り返して30匹孵化した時点でボックス内を開いて色違い/ステータス判定

今の実装では色違いポケモンが出た瞬間にコマンド終了としています
色違いでなければ逃がします

備考

現在は単純な実装なので5匹(サイクル20)で10分弱(=30匹強/h)と遅いです...
画像処理を用いるからにはもう少し工夫して最適化したいですね


⚠️ **GitHub.com Fallback** ⚠️