はじめに
2048 ゲームをプレイしたことがありますか? https://gabrielecirulli.github.io/2048/ オンラインでプレイできます
人間のエネルギーは常に限られており、昼夜を問わずプレイすることは不可能ですが、機械は 2048 年のゲームを自動的にプレイする小さな機能を作成できます。セレンの使い方に慣れる
分析
2048 ゲームの本質は、4 方向キーを使用して数字を合成することです。実際、プロセスは単純で退屈です (人間の思考の問題に注意を払っていません)。 )、機械はこれを行うのが得意です。
Selenium を使用してブラウザを開き、キーボード コマンドと一連の操作を送信します。
ゲームオーバーになると、Selenium が 4 方向キー コマンドを送信するのが通常であるため、ゲーム オーバーの問題を解決するには特別な処理が必要です
タグ
1) スコア: <div class="score-container">0div>
2) ゲーム以上: < div class= "game-message"><p>Game over!p>
の値は空です。ゲームが終了すると、この機能を使用してゲームが終了したかどうかを判断します
3) もう一度試してください: < -ボタン"a>
注: ゲームが終了したら、ボタンをクリックして、ゲームを再開します
環境
1) windows 7 2) これはPythonで直接書かれた単純な関数です IDLEの下に書かれています
3) Firefox ブラウザを使用しており、ここからドライバーをインストールする必要があります ()。system32 の下に直接配置しています
。
ソースコード
Run Python IDLE で、play2048() を呼び出すだけです。プログラムによって自動的に実行される手順は次のとおりです: 1) firefox を開きます 2) 現在開いている Firefox ウィンドウで、https:/ にアクセスします。 /gabrielecirulli.github.io/2048/ 3) ページがロードされるのを待ち、4 方向への矢印の送信を開始します 4) ゲームが終了したら、自動的に再試行します 5) 無限ループのステップ 3 と 4 興味があれば、ぜひ試してみてください、とても興味深いです~~def play2048():
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 打开firefox,并访问2048游戏界面
bs = webdriver.Firefox()
bs.get('https://gabrielecirulli.github.io/2048/')
html = bs.find_element_by_tag_name('html')
while True:
print('send up,right,down,left')
html.send_keys(Keys.UP)
time.sleep(0.3)
html.send_keys(Keys.RIGHT)
time.sleep(0.3)
html.send_keys(Keys.DOWN)
time.sleep(0.3)
html.send_keys(Keys.LEFT)
time.sleep(0.3)
# 每四个方向操作后判断游戏是否结束
game_over = bs.find_element_by_css_selector('.game-message>p')
if game_over.text == 'Game over!':
score = bs.find_element_by_class_name('score-container') #当前得分
print('game over, score is %s' % score.text)
print('wait 3 seconds, try again')
time.sleep(3)
# 游戏结束后,等待3秒,自动点击try again重新开始
try_again = bs.find_element_by_class_name('retry-button')
try_again.click()
以上が2048 ゲームを自動的にハングアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。