タイトルが示すように、Java は Web ブラウザ ベースの Flash ゲームで何が起こっているかを読み取ることができますか?
例: 現在何が起こっているかを読み取り、事前に決められた一連のアクションに基づいて決定を下すことで、FarmVille をプレイできる Java プログラムを作成できますか?
タイトルが示すように、Java は Web ブラウザ ベースの Flash ゲームで何が起こっているかを読み取ることができますか?
例: 現在何が起こっているかを読み取り、事前に決められた一連のアクションに基づいて決定を下すことで、FarmVille をプレイできる Java プログラムを作成できますか?
FarmVille はいかなる種類の API も公開しておらず、(私の知る限り) Flash プレーヤーに割り当てられた RAM にアクセスすることはできません。したがって、唯一の実際の行動は、画面を分析して入力を自動化することです。つまり、事前に作成されたものはありませんfarmville.getUnplowedCells()
が、スクリーンショットを撮り、それらを分析して耕されていないセルを見つけ、キャラクターが耕されていないセルを耕すマウス/キーボード入力を生成するプログラムを作成できます。Robotクラスは、この種のプログラミングに使用できます。
これには非常に時間がかかり、おそらく努力する価値はありません。また、副作用として、これは基本的にマウスとキーボードを「制御」し、コンピュータを正常に使用できなくします。ただし、この問題は、仮想マシンでプログラムを実行することで軽減できます。
いいえ、IPC より直接的なものを可能にする Java-Flash ブリッジの実装はありません。あなたの最善の策は、一般的な IPC メカニズムを介した swf の逆コンパイル (おそらく難読化解除が必要になるでしょう) です。
キーボード、マウス、およびビデオへのアクセスを提供するJava Robot APIを使用するために、画面上の要素をピクセルの色で認識するという別のアプローチを使用して、これに取り組むこともできます。FarmVille は 2D ゲームであるため、画面上の要素の認識は非常に簡単です。画像の比較、または部分的な画像の比較 (画像の境界線または代表的な部分のみ) を実行して速度を上げます。
余談ですが、オンライン ゲームでカンニングをするのは良いことではありません。機能するソフトウェアを作成できるほど頭が良ければ、より生産的な活動を見つけることができるでしょう。