日狗2048

安利一波链接:Kevin‘s 2048

mode 1为普通2048

mode 2为随机出现值2048(可能开局2048哦)

mode 3为神秘2048(有一种元素为1)

mode 4为负数2048

下面是蜜汁贪心刷分脚本。。

  1 import copy,os,random,time
  2 from collections import OrderedDict
  3 from selenium import webdriver
  4 from selenium.webdriver.common.keys import Keys
  5
  6 def turn(n):
  7     if   n==1:
  8         return Keys.DOWN
  9     elif n==2:
 10         return Keys.LEFT
 11     elif n==3:
 12         return Keys.RIGHT
 13     else:
 14         return Keys.UP
 15
 16 if __name__=="__main__":
 17     username=raw_input("Please input your name:")
 18     maxium,total,times=0,0.0,0
 19     while True:
 20         try:
 21             mode=input("Please input the mode of 2048:")
 22             break
 23         except:
 24             print "Unexpected format!"
 25     while True:
 26         cyz666=webdriver.Chrome()
 27         cyz666.get("http://kkeevviinnn.com/2048.html")
 28         while True:
 29             try:
 30                 cyz666.find_element_by_id("modebutton%d"%mode).click()
 31                 game=cyz666.find_element_by_xpath("/html/body")
 32                 break
 33             except:
 34                 print "There‘s no this mode!"
 35                 mode=input("Please input the mode of 2048:")
 36         while True:
 37             status=[[0 for i in xrange(4)] for j in xrange(4)]
 38             for i in xrange(4):
 39                 for j in xrange(4):
 40                     try:
 41                         status[i][j]=int(game.find_element_by_id("number-cell-%d-%d"%(i,j)).text)
 42                     except:
 43                         pass
 44             sum={0:0,1:0,2:0,3:0}
 45
 46             # Move Up
 47             images,vis=copy.deepcopy(status),[[False for i in xrange(4)] for j in xrange(4)]
 48             for i in xrange(4):
 49                 for j in xrange(4):
 50                     if images[i][j]:
 51                         k=i-1
 52                         while (k>=0) and not images[k][j] and not vis[k][j]:
 53                             k-=1
 54                         if (k>=0) and ((images[i][j]==images[k][j]) or (images[i][j]==1)) and not vis[k][j]:
 55                             images[k][j]+=images[i][j]
 56                             images[i][j],vis[k][j]=0,True
 57                             sum[0]+=images[k][j]
 58             # Move Down
 59             images,vis=copy.deepcopy(status),[[False for i in xrange(4)] for j in xrange(4)]
 60             for i in xrange(4):
 61                 for j in xrange(4):
 62                     if images[i][j]:
 63                         k=i+1
 64                         while (k<4) and not images[k][j] and not vis[k][j]:
 65                             k+=1
 66                         if (k<4) and ((images[i][j]==images[k][j]) or (images[i][j]==1)) and not vis[k][j]:
 67                             images[k][j]+=images[i][j]
 68                             images[i][j],vis[k][j]=0,True
 69                             sum[1]+=images[k][j]
 70             # Move Left
 71             images,vis=copy.deepcopy(status),[[False for i in xrange(4)] for j in xrange(4)]
 72             for i in xrange(4):
 73                 for j in xrange(4):
 74                     if images[i][j]:
 75                         k=j-1
 76                         while (k>=0) and not images[i][k] and not vis[i][k]:
 77                             k-=1
 78                         if (k>=0) and ((images[i][j]==images[i][k]) or (images[i][j]==1)) and not vis[i][k]:
 79                             images[i][k]+=images[i][j]
 80                             images[i][j],vis[i][k]=0,True
 81                             sum[2]+=images[i][k]
 82             # Move Right
 83             images,vis=copy.deepcopy(status),[[False for i in xrange(4)] for j in xrange(4)]
 84             for i in xrange(4):
 85                 for j in xrange(4):
 86                     if images[i][j]:
 87                         k=j+1
 88                         while (k<4) and not images[i][k] and not vis[i][k]:
 89                             k+=1
 90                         if (k<4) and ((images[i][j]==images[i][k]) or (images[i][j]==1)) and not vis[i][k]:
 91                             images[i][k]+=images[i][j]
 92                             images[i][j],vis[i][k]=0,True
 93                             sum[3]+=images[i][k]
 94
 95             dic=OrderedDict(sorted(sum.items(),key=lambda t:t[1],reverse=True))
 96             last,can=-1,[False,False,False,False]
 97             for odr,scr in dic.items():
 98                 if (~last) and (scr!=last):
 99                     break
100                 can[odr]=True
101                 last=scr
102             ans=random.randint(0,3)
103             while not can[ans]:
104                 ans=random.randint(0,3)
105             while True:
106                 try:
107                     game.send_keys(turn(ans))
108                     break
109                 except:
110                     pass
111             try:
112                 cyz666.find_element_by_id("field").send_keys(username)
113                 break
114             except:
115                 pass
116         scr=int(cyz666.find_element_by_id("score").text)
117         maxium=max(maxium,scr)
118         total+=scr
119         times+=1
120         print "------------------------------------"
121         print "You‘ve played 2048 for %d times."%times
122         print "This run you got the score:%d."%scr
123         print "Your average score:%.3f."%(total/times)
124         print "Your maxium score:%d."%maxium
125         print "------------------------------------"
126         print ‘‘
127         while True:
128             try:
129                 cyz666.find_element_by_id("btn1").click()
130                 break
131             except:
132                 pass
133         cyz666.close()
时间: 2024-11-05 13:49:19

日狗2048的相关文章

记一次帮群友简单提权

00x1 故事是这样发生的 直接上菜刀. 找个地儿随便上传个exp.稀里哗啦随便点目录.觉得还是权限蛮大的.上传个cmd再说. 这就尴尬了. 然后又多找几个地儿的试了试.终于OK. 虚拟机,EXP轻松秒之.不过呢,低调. GETPASS 后来那个哥们儿跟我说 安全狗?为啥我的pr都不杀?难道我的免杀???开啥国际玩笑.懊恼的我已经是system权限.那么直接就这样搞了. 记住PID.等下日了他. 第一次那么吊的日狗. 可是怎么登录都是 在群里@了帅哥果断有人帮我.然后Frie大大说.转发3389

也说《人月神话》

 温馨提示:文章的内容与引子无关.       时值深秋,校园里的银杏树, 美的醉人, 一片片优雅的飘落,宛如蝴蝶的狂欢! 图书室中,书籍满架,透出大学那种特有的庄重与浪漫. 图书室里的人一如从前一样, 不多不少, 总是有些人走了, 又有一些人来了. 变化的只是管理图书室的阿姨,双鬓添霜. 我走进一个书架, 挑出了一本最旧的书, 虽然页面泛黄,页脚脱落, 仍然不失“王者”般的威严. 因为书名实在迷人---<人月神话> 某爱慕 小恪的漂亮女生: 小恪, 你在看什么? 这是什么书? 24K纯屌丝小

FZU Problem 2200 cleaning dp

Problem Description N个人围成一圈在讨论大扫除的事情,需要选出K个人.但是每个人与他距离为2的人存在矛盾,所以这K个人中任意两个人的距离不能为2,他们想知道共有多少种方法. Input 第一行包含一个数T(T<=100),表示测试数据的个数. 接下来每行有两个数N,K,N表示人数,K表示需要的人数(1<=N<=1000,1<=K<=N). Output 输出满足题意的方案数,方案数很大,所以请输出方案数mod 1,000,000,007 后的结果. Sam

kindeditor上传图片时候,上传成功了,但是页面上却提示失败

今天尝试着kindeditor做一个上传demo,碰到了一个日狗的问题,百度谷歌都没有答案,最后查看源码才发现问题所在,记录一下,福利大众. 碰到问题如下,图片后台明明上传成功了,返回信息也是正确的,却提示上传失败. 百思不得其解,然后一步步跟着源码走,找到了问题. 原因:服务端的返回信息是错的,在服务端把"error"的值从"0"改成0就好了

1.redis.3.2 下载,安装、配置、使用

1.下载: 2.使用: 挤压之后,使用cmd执行,如下图 redis-server--service-installredis.windows.conf,执行安装 提示成功之后,剩下就好办了, 这时候,你会发现,咦,为啥没反应了,,,,傻傻等半天是不是,别等了,现在 双击redis.cli吧 发现没,默认连接的是127.0.0.1:6379,这个可以在redis.windows.conf中找到,这是源文件中默认的地址和端口, 可以自行更改.后面使用到主从的时候我再更改,现在先这样. 下面该干嘛呢

Native项目迁入React-Native过程中遇到的坑(0.4x版本)

转载请注明出处王亟亟的大牛之路 最近都在忙着搭架子,找框架,谈需求和开会.甚至都没有时间好好装逼,昨天帮安卓的小伙把项目从安卓整体迁移到了RN的项目下面,过程中遇到很多不可描述的坑,这里给大家分享下经验 先安利,安卓收纳库:https://github.com/ddwhan0123/Useful-Open-Source-Android React-Native收纳库:https://github.com/ddwhan0123/Useful-Open-Source-React-Native 由来

Android基础入门教程——8.3.3 Paint API之—— MaskFilter(面具)

Android基础入门教程--8.3.3 Paint API之-- MaskFilter(面具) 标签(空格分隔): Android基础入门教程 本节引言: 在Android基础入门教程--8.3.1 三个绘图工具类详解的Paint方法中有这样一个方法: setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等! 而我们一般不会直接去用这个MaskFilter,而是使用它的两个子类: Bl

HDU 3605 Escape 最大流+状压

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605 Escape Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7145    Accepted Submission(s): 1553 Problem Description 2012 If this is the end of the

hdu 2822 ~!!!!!!坑死我

首先 在此哀悼...  为我逝去的时间哀悼...  每一步都确定再去写下一步吧...日狗 不过还是有点收获的..  对优先队列的使用 有了进一步的理解 先上代码 #include<iostream>#include<cstdio>#include<queue>#include<string.h>using namespace std;int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};char mapp[1001][1001]