ゲームを自動化/テストする別の方法

連絡を取り合って常にゲームをプレイしている友人がいますか? 私はあなたのことは知りませんが、大人がそれほどスマートでないゲームに12時間を費やすと緊張します。 そのような友人を見て、彼の代わりに遊ぶロボットを書きたいと思いました。



少し前のHabréには、ブラウザゲームのボットに関する記事が次々と寄せられていました。 [1][2][3]など。

すべてのメソッドはすでに整理されているように見えますが、最近、別の非常に興味深く時間のかからないメソッドに出会いました。



30行のコードを再生するボットの書き方を知りたい人は、猫の下でお願いします。





ツール


使用するツールはSikuliと呼ばれます

このツールを使用すると、クリック、ドラッグアンドドロップなどのアクションを自動化できます。 スクリーンショットを使用します。 つまり AutoItとは異なり、オブジェクト検索アルゴリズムを考案する必要はありません。 Sikuliがこれを処理します。 そして、アルゴリズムの発明を引き受けることは私たちに残っています。



アルゴリズム


私の選択はゲーム「ゾンビ農場」に落ちました。 意味は簡単です:掘る、植える、収穫する。 しかし、あなたはそれを何度も何度もしなければなりません。 私はアルゴリズムをそれほど複雑にしませんでした。



:

1) 15

2) 15

3) 15








最も困難なことは(地獄の難しさですが!)種を植えるために買うことでした。 シード選択ウィンドウ-すべての束とすべてが非常に似ています。





もちろん、植えたい画像のオフセットから購入ボタンの座標を見つけることができます。 しかし、もっと簡単な方法があります。

デフォルトでは、クリック関数を呼び出してパラメーターとして画像を渡すと、その中央をクリックします。 ただし、任意の画像のオフセットを設定できます。 したがって、購入ボタンと一緒に工場の写真を撮り、ボタンに論理的な中心を置きます。





コード


そして、約30行のコード、私は嘘をつきませんでした(あなたが行を引くと空です)。 ここにあります:



この言語は、コード内に画像が存在するため、強調表示には適していません。そのため、すべてのコードは画像で表されます。

ソースコード



仕組み






PS


Sikuliプロジェクトサイト-sikuli.org



All Articles