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

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

PHP中文网
풀어 주다: 2017-06-20 15:25:56
원래의
4474명이 탐색했습니다.

머리말

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

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

분석

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

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

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

태그

 1) 점수: <

div class="score-container">0div>

 2) 게임 끝: < div class= "game-message"><p>게임 종료!p>

참고: 일반 게임 상태에서는 다음으로

게임이 종료되면 이 기능을 사용하여 게임이 끝났는지 확인하세요

3) 다시 시도하세요: < -버튼">다시 시도a>

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

환경

 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(&#39;https://gabrielecirulli.github.io/2048/&#39;)
	html = bs.find_element_by_tag_name(&#39;html&#39;)
	while True:
		print(&#39;send up,right,down,left&#39;)
		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(&#39;.game-message>p&#39;)
		if game_over.text == &#39;Game over!&#39;:
			score = bs.find_element_by_class_name(&#39;score-container&#39;)    #当前得分
			print(&#39;game over, score is %s&#39; % score.text)
			print(&#39;wait 3 seconds, try again&#39;)
			time.sleep(3)
            # 游戏结束后,等待3秒,自动点击try again重新开始
			try_again = bs.find_element_by_class_name(&#39;retry-button&#39;)
			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으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿