用python实现自动玩Npubits的21点游戏

 

用python实现自动玩Npubits的21点游戏

21点的主页面

https://---

(此处不提供链接,用户直接在网站首页点击21点后,地址栏的链接便是。)

需要知道的关键点

写代码时用来抓取数据的关键点

1. 等待开局

若之前的21点还没有结束(暂时没有对手上线),那么不能开局,需等待之前的结束。若需等待,主页面包含以下内容

<button type="submit" class="btn btn-default">刷新</button>
2. 可以开始

若可以开始游戏,主页面包含以下内容

<button type="submit" class="btn btn-primary">开始游戏!</button>
3. 开始21点

向主页面post数据

game: hit, start: yes
4. 判断点数

判断每次操作后,主页面返回的网页内容。点数的html样式如下:

<b>点数 = 16</b>
5. 继续摸牌

向主页面post数据

game: hit
6. 停止摸牌

向主页面post数据

game: stop

Python脚本思路

  1. 等待开局。
  2. 开始21点。
  3. 判断点数。
  4. 若点数大于20,回到第1步。
  5. 若点数大于17,则去到第8步。(17可变,只是我认为17点够大了)
  6. 若点数小于等于17,则去到第7步。
  7. 继续摸牌,回到第3步。
  8. 停止摸牌,回到第1步。

toulanboy - http://www.cnblogs.com/toulanboy/

代码实现

1. 关键逻辑:开始-摸牌-停止
#(**此处不提供链接,用户直接在网站首页点击21点后,地址栏的链接便是。**) url = 'https://----'   #不停地玩21点 while True:     #先看之前的是否结束了     result = getData(url)     time.sleep(5) # toulanboy - http://www.cnblogs.com/toulanboy/     if result == 0: #如果还没结束,则继续刷新         print "之前的尚没结束,等待中"     elif result == 1:#如果结束了,则开始游戏         point = postData(url, startValues)#发出“开始游戏”请求         print "已开局,当前点数 = %d" % point         #大于20点,系统会自动结束,故在这里我只需在小于21点的情况下摸牌         while point <= 20:             if point >= 17:#我认为只要大于17点我满足了,所以大于17点就停止摸牌                 time.sleep(1)                 postData(url, stopValues)#发出“停止摸牌”请求                 print "停止摸牌了,当前点数 = %d" % point                 break             else:#小于17点则继续摸牌                 time.sleep(1)                 point = postData(url, hitValues)#发出“继续摸牌”请求                 
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信