python扫雷代码(Python扫雷代码)
微信扫雷代码怎么弄
微信扫雷代码操作流程如下:
1. 下载微信红包扫雷器并打开。
2. 在“设置-辅助功能-微信红包扫雷软件”中,点击“打开”。
3. 打开微信。在“设置-新消息提醒”中,选中“打开”以查看前两个选项“接受新消息通知”和“通知显示消息详细信息”。(很多人忘记了这一步)
4。打开微信群,点击右上角,下拉“消息无中断”选项,勾选“关闭”。(即保持“组消息提示”为“开”状态,触摸系统底部界面)。在微信红包扫雷软件中,勾选“打开自动红包”、“妞妞金额调整”、“杰龙金额调整”、“三公金额调整”等。
求一个用python2.6编的扫雷!!!
Python调出窗口的那种不会做,但是可以做一个在IDLE里面直接输出的简易扫雷程序,如下:
mine = []
show = []
for i in xrange(10):
mine.append([0] * 10)
show.append(['#'] * 10)
import random,string
for i in xrange(10):
while True:
x = random.randint(0, 9)
y = random.randint(0, 9)
if mine[x][y] == 0:
print x, y
mine[x][y] = 1
break
if True:
for i in xrange(10):
for j in xrange(10):
print mine[i][j],
def getX(self):
print('X='),
xRet = raw_input()
while xRet=='' or (False == isNumber(xRet)) or 0int(xRet):
print 'Input Error,Input again(0-9):'
print('X='),
xRet = raw_input()
return int(xRet)
def getY(self):
print('Y='),
yRet = raw_input()
while yRet=='' or (False == isNumber(yRet)) or 0int(yRet):
print 'Input Error,Input again(0-9):'
print('Y='),
yRet = raw_input()
return int(yRet)
def isNumber(strVal):
nums = string.digits
for i in strVal:
if i not in nums:
return False
return True
def open_blk(x, y):
n = 0
for i in xrange(x - 1, x + 2):
for j in xrange(y - 1, y + 2):
if i 0 or i 9 or j 0 or j 9:
continue
if mine[i][j] == 1:
n += 1
show[x][y] = str(n)
if n != 0:
return
for i in xrange(x - 1, x + 2):
for j in xrange(y - 1, y + 2):
if i 0 or i 9 or j 0 or j 9:
continue
if show[i][j] == '#':
open_blk(i, j)
print 'start'
while True:
end = True
for i in xrange(10):
for j in xrange(10):
if show[i][j] == '#' and mine[i][j] == 0:
end = False
if end:
break
for i in xrange(10):
print ' '.join(show[i])
if mine[getX(x)][getY(y)] == 1:
print 'you lost'
break
open_blk(x, y)
输入 x/y 选择位置扫雷
本回答非原创,转自开源代码分享,以下是作者信息:
作者:边雪冬
技术支持:冒泡
Email:bxd602@163.com
转载注明出处
希望我的回答能够帮到你,望采纳!
请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等
#!/usr/bin/python
from Tkinter import *
import random
class snake(Frame):
????????def __init__(self, master=None):
????????????????Frame.__init__(self, master)
????????????????self.body = [(0,0)]
????????????????self.bodyid = []
????????????????self.food = [ -1, -1 ]
????????????????self.foodid = -1
????????????????self.gridcount = 10
????????????????self.size = 500
????????????????self.di = 3
????????????????self.speed = 500
????????????????self.top = self.winfo_toplevel()
????????????????self.top.resizable(False, False)
????????????????self.grid()
????????????????self.canvas = Canvas(self)
????????????????self.canvas.grid()
????????????????self.canvas.config(width=self.size, height=self.size,relief=RIDGE)
????????????????self.drawgrid()
????????????????s = self.size/self.gridcount
????????????????id = self.canvas.create_rectangle(self.body[0][0]*s,self.body[0][1]*s,
????????????????????????(self.body[0][0]+1)*s, (self.body[0][1]+1)*s, fill="yellow")
????????????????self.bodyid.insert(0, id)
????????????????self.bind_all("KeyRelease", self.keyrelease)
????????????????self.drawfood()
????????????????self.after(self.speed, self.drawsnake)
????????def drawgrid(self):
????????????????s = self.size/self.gridcount
????????????????for i in range(0, self.gridcount+1):
????????????????????????self.canvas.create_line(i*s, 0, i*s, self.size)
????????????????????????self.canvas.create_line(0, i*s, self.size, i*s)
????????def drawsnake(self):
????????????????s = self.size/self.gridcount
????????????????head = self.body[0]
????????????????new = [head[0], head[1]]
????????????????if self.di == 1:
????????????????????????new[1] = (head[1]-1) % self.gridcount
????????????????elif self.di == 2:
????????????????????????new[0] = (head[0]+1) % self.gridcount
????????????????elif self.di == 3:
????????????????????????new[1] = (head[1]+1) % self.gridcount
????????????????else:
????????????????????????new[0] = (head[0]-1) % self.gridcount
????????????????next = ( new[0], new[1] )
????????????????if next in self.body:
????????????????????????exit()
????????????????elif next == (self.food[0], self.food[1]):
????????????????????????self.body.insert(0, next)
????????????????????????self.bodyid.insert(0, self.foodid)
????????????????????????self.drawfood()
????????????????else:
????????????????????????tail = self.body.pop()
????????????????????????id = self.bodyid.pop()
????????????????????????self.canvas.move(id, (next[0]-tail[0])*s, (next[1]-tail[1])*s)
????????????????????????self.body.insert(0, next)
????????????????????????self.bodyid.insert(0, id)
????????????????self.after(self.speed, self.drawsnake)
????????def drawfood(self):
????????????????s = self.size/self.gridcount
????????????????x = random.randrange(0, self.gridcount)
????????????????y = random.randrange(0, self.gridcount)
????????????????while (x, y) in self.body:
????????????????????????x = random.randrange(0, self.gridcount)
????????????????????????y = random.randrange(0, self.gridcount)
????????????????id = self.canvas.create_rectangle(x*s,y*s, (x+1)*s, (y+1)*s, fill="yellow")
????????????????self.food[0] = x
????????????????self.food[1] = y
????????????????self.foodid = id
????????def keyrelease(self, event):
????????????????if event.keysym == "Up" and self.di != 3:
????????????????????????self.di = 1
????????????????elif event.keysym == "Right" and self.di !=4:
????????????????????????self.di = 2
????????????????elif event.keysym == "Down" and self.di != 1:
????????????????????????self.di = 3
????????????????elif event.keysym == "Left" and self.di != 2:
????????????????????????self.di = 4
app = snake()
app.master.title("Greedy Snake")
app.mainloop()
贪食蛇
Python中扫雷的递归问题。 怎样点开0周围的0,防止对0周围0做递归时重新又对原来的0进行递归,就无穷了。
如同kaisa1028说的。你把判断过的区域放在list里,每次扫描时检查该点是否已被扫过,如果被扫过应该是出现在list里。如果没有才继续扫。这在递归算法里几乎是必然会做的。不然递归就没有办法跳出来了。