>백엔드 개발 >파이썬 튜토리얼 >2048 게임을 자동으로 끊는 방법

2048 게임을 자동으로 끊는 방법

PHP中文网
PHP中文网원래의
2017-06-20 15:25:564423검색

머리말

2048 게임을 플레이해 보셨나요? https://gabrielecirulli.github.io/2048/ 온라인으로 플레이할 수 있습니다

인간의 에너지는 항상 제한되어 있어 밤낮으로 플레이하는 것은 불가능하지만 기계는 2048 게임을 자동으로 플레이하는 작은 기능을 만들 수 있습니다. 셀레늄 익히기 사용법

분석

2048 게임의 핵심은 4개의 방향 키를 사용하여 숫자를 합성하는 것입니다. 사실 과정은 간단하고 지루합니다(인간의 사고 문제에 관심을 기울이지 않음). ) 그리고 기계는 이 작업을 잘 수행합니다.

셀레늄을 사용하여 브라우저를 열고 키보드 명령과 일련의 작업을 보냅니다.

게임이 끝나면 셀레늄이 네 방향 키 명령을 보내는 것이 일반적이므로 게임 오버 문제를 해결하려면 특별한 처리가 필요합니다.

태그

 1) 점수: 456f765df6b45fd285603930edc568370a86497a4848fc8cfffdb6a12d5dfabf3

 2) 게임 끝: 67e13138e21f0e101d95424ff0a60ee527a02b3685584e69b6b89bc6b464abd1게임 종료!cbefb3d0f4c26f57ee17e5b7a4fc9a1216b28748ea4df4d9c2150843fecfba68 참고: 일반 게임 상태에서는 다음으로 e388a4556c0f65e1904146cc1a846bee 게임이 종료되면 이 기능을 사용하여 게임이 끝났는지 확인하세요

3) 다시 시도하세요: a0982c119fc5cbe4248cc5522c60912f다시 시도1ad72262e61121e9c1d89c127877607b

  참고: 게임이 끝나면 버튼을 찾아야 합니다. 그리고 그것을 클릭해서 게임 재개

환경

 1) windows 7  2) Python에서 직접 작성한 간단한 기능입니다. IDLE

3) 저는 파이어폭스 브라우저를 사용하고 있으며 드라이버를 설치해야 합니다. (), system32


소스 코드

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()

실행

Python IDLE에서 play2048()을 호출하면 프로그램이 자동으로 실행하는 단계는 다음과 같습니다.

 1) Firefox 열기

 2) 현재 열려 있는 Firefox 창에서 https:/를 방문하세요. /gabrielecirulli.github.io/2048/

 3) 페이지가 로드될 때까지 기다렸다가 네 방향으로 화살표를 보내기 시작합니다

 4) 게임이 끝나면 자동으로 다시 시도합니다

 5) 무한 루프 3단계 및 4단계

관심 있으신 분들은 한번 해보셔도 좋을 것 같아요 꽤 재미있습니다~~

위 내용은 2048 게임을 자동으로 끊는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.