#!/usr/bin/python
from Tkinter import
import random
class snake(frame):
def __init__(self, master=None):
frame__init__(self, master)
selfbody = [(0,0)]
selfbodyid = []
selffood = [ -1, -1 ]
selffoodid = -1
selfgridcount = 10
selfsize = 500
selfdi = 3
selfspeed = 500
selftop = selfwinfo_toplevel()
selftopresizable(False, False)
selfgrid()
selfcanvas = Canvas(self)
selfcanvasgrid()
selfcanvasconfig(width=selfsize, height=selfsize,relief=RIDGE)
selfdrawgrid()
s = selfsize/selfgridcount
id = selfcanvascreate_rectangle(selfbody[0][0]s,selfbody[0][1]s,
(selfbody[0][0]+1)s, (selfbody[0][1]+1)s, fill="yellow")
selfbodyidinsert(0, id)
selfbind_all("<KeyRelease>", selfkeyrelease)
selfdrawfood()
selfafter(selfspeed, selfdrawsnake)
def drawgrid(self):
s = selfsize/selfgridcount
for i in range(0, selfgridcount+1):
selfcanvascreate_line(is, 0, is, selfsize)
selfcanvascreate_line(0, is, selfsize, is)
def drawsnake(self):
s = selfsize/selfgridcount
head = selfbody[0]
new = [head[0], head[1]]
if selfdi == 1:
new[1] = (head[1]-1) % selfgridcount
elif selfdi == 2:
new[0] = (head[0]+1) % selfgridcount
elif selfdi == 3:
new[1] = (head[1]+1) % selfgridcount
else:
new[0] = (head[0]-1) % selfgridcount
next = ( new[0], new[1] )
if next in selfbody:
exit()
elif next == (selffood[0], selffood[1]):
selfbodyinsert(0, next)
selfbodyidinsert(0, selffoodid)
selfdrawfood()
else:
tail = selfbodypop()
id = selfbodyidpop()
selfcanvasmove(id, (next[0]-tail[0])s, (next[1]-tail[1])s)
selfbodyinsert(0, next)
selfbodyidinsert(0, id)
selfafter(selfspeed, selfdrawsnake)
def drawfood(self):
s = selfsize/selfgridcount
x = randomrandrange(0, selfgridcount)
y = randomrandrange(0, selfgridcount)
while (x, y) in selfbody:
x = randomrandrange(0, selfgridcount)
y = randomrandrange(0, selfgridcount)
id = selfcanvascreate_rectangle(xs,ys, (x+1)s, (y+1)s, fill="yellow")
selffood[0] = x
selffood[1] = y
selffoodid = id
def keyrelease(self, event):
if eventkeysym == "Up" and selfdi != 3:
selfdi = 1
elif eventkeysym == "Right" and selfdi !=4:
selfdi = 2
elif eventkeysym == "Down" and selfdi != 1:
selfdi = 3
elif eventkeysym == "Left" and selfdi != 2:
selfdi = 4
app = snake()
appmastertitle("Greedy Snake")
appmainloop()
贪食蛇

#五子棋import appuifw,e32,key_codes
from graphics import def cn(x):return xdecode('utf-8')
def quit(): _quit=1
global running
running=1
def redraw(rect): canvasblit(img)def default():
global con,color,font
con={"l":15,"x":15,"y":33,"r":13,"n":15}
color={"bg":0x7777bb,"fg":0x333333,"p1":0x000000,"p2":0xffffff,"w":0xff0000}
font=u"Sans MT 936_S60"def initial():
global img,canvas,con,color,cur_x,cur_y,turn,pos1,pos2,pos
appuifwappscreen='full'
appuifwappbody=canvas=appuifwCanvas()
img=Imagenew((240,320))
imgclear(color["bg"])
cur_x=7
cur_y=7
turn=1
pos1=[]
pos2=[]
pos=[]
for i in range(con["n"]con["n"]):
posappend(0)def paint_back():
global img,color,font
#imgtext((90,25),cn('欢乐五子棋'),color["fg"],font)
for i in range(con["x"],con["x"]+con["l"]con["n"]-1,con["l"]):
imgline((i,con["y"],i,con["y"]+con["l"](con["n"]-1)),color["fg"])
for i in range(con["y"],con["y"]+con["l"]con["n"]-1,con["l"]):
imgline((con["x"],i,con["x"]+con["l"](con["n"]-1),i),color["fg"])
imgtext((40,270),cn('玩家1'),color["p1"],font)
imgtext((160,270),cn('玩家2'),color["p2"],font)
imgpoint((90,263),color["p1"],width=con["r"],fill=color["p1"])
imgpoint((144,263),color["p2"],width=con["r"],fill=color["p2"])
def paint_cur(x,y,sh):
global img,con,color,pos1,pos2,running
if running<>1:return
ax=con["x"]+con["l"]x
ay=con["y"]+con["l"]y
b=con["l"]/2
if sh<>0:
c=color["p"+str(sh)]
if rp((x,y))<>0:
c=color["w"]
if sh==0:
c=color["bg"]
imgline((ax-b,ay-2,ax-b,ay-b,ax-2,ay-b),c)
imgline((ax-b,ay+2,ax-b,ay+b,ax-2,ay+b),c)
imgline((ax+b,ay-2,ax+b,ay-b,ax+2,ay-b),c)
imgline((ax+b,ay+2,ax+b,ay+b,ax+2,ay+b),c)
redraw(())def paint_q(x,y,z):
global img,con,color
ax=con["x"]+con["l"]x
ay=con["y"]+con["l"]y
b=con["l"]/2
if z==0:
c=color["bg"]
else:
c=color["p"+str(z)]
imgpoint((ax,ay),c,width=con["r"],fill=c)
redraw(())
if z==0:
imgline((ax-b,ay,ax+b,ay),c)
imgline((ax,ay-b,ax,ay+b),c)
def k_up():
global cur_x,cur_y,con,turn
paint_cur(cur_x,cur_y,0)
cur_y=cur_y-1
if cur_y==-1:
cur_y=con["n"]-1
paint_cur(cur_x,cur_y,turn)def k_down():
global cur_x,cur_y,con,turn
paint_cur(cur_x,cur_y,0)
cur_y=cur_y+1
if cur_y==con["n"]:
cur_y=0
paint_cur(cur_x,cur_y,turn)def k_left():
global cur_x,cur_y,con,turn
paint_cur(cur_x,cur_y,0)
cur_x=cur_x-1
if cur_x==-1:
cur_x=con["n"]-1
paint_cur(cur_x,cur_y,turn)def k_right():
global cur_x,cur_y,con,turn
paint_cur(cur_x,cur_y,0)
cur_x=cur_x+1
if cur_x==con["n"]:
cur_x=0
paint_cur(cur_x,cur_y,turn)def rp(x):
global con,pos
if (x[0]<0 or x[0]>=con["n"] or x[1]<0 or x[1]>=con["n"]):return 0
#print x,pos[x[0]con["n"]+x[1]]
return pos[x[0]con["n"]+x[1]]def wp(x,y):
global con,pos
pos[x[0]con["n"]+x[1]]=y
def win():
for i in pos1:
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]))==1:
k=k+1
else:
break
if k>=5:
return 1
k=0
for j in range(0,6):
if rp((i[0],i[1]+j))==1:
k=k+1
else:
break
if k>=5:
return 1
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]+j))==1:
k=k+1
else:
break
if k>=5:
return 1
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]-j))==1:
k=k+1
else:
break
if k>=5:
return 1 for i in pos2:
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]))==2:
k=k+1
else:
break
if k>=5:
return 2
k=0
for j in range(0,6):
if rp((i[0],i[1]+j))==2:
k=k+1
else:
break
if k>=5:
return 2
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]+j))==2:
k=k+1
else:
break
if k>=5:
return 2
k=0
for j in range(0,6):
if rp((i[0]+j,i[1]-j))==2:
k=k+1
else:
break
if k>=5:
return 2
return 0
def k_enter():
global cur_x,cur_y,turn,pos1,pos2,con,color,font,running
if running<>1:return
if rp((cur_x,cur_y))==0:
if turn==1:
pos1append((cur_x,cur_y))
imgrectangle((35,255,100,272),color["bg"])
imgrectangle((135,255,200,272),color["p2"])
if turn==2:
pos2append((cur_x,cur_y))
imgrectangle((35,255,100,272),color["p1"])
imgrectangle((135,255,200,272),color["bg"])
paint_q(cur_x,cur_y,turn)
wp((cur_x,cur_y),turn)
if win()<>0:
#imgtext((80,300),cn('玩家')+str(turn)+cn("获胜!"),color["fg"],font)
imgrectangle((35,255,100,272),color["bg"])
imgrectangle((135,255,200,272),color["bg"])
paint_cur(cur_x,cur_y,0)
running=2
turn=3-turn
paint_cur(cur_x,cur_y,turn)def bindkey():
canvasbind(key_codesEKeyUpArrow, k_up)
canvasbind(key_codesEKeyDownArrow,k_down)
canvasbind(key_codesEKeyLeftArrow, k_left)
canvasbind(key_codesEKeyRightArrow,k_right)
canvasbind(key_codesEKeySelect,k_enter)default()
initial()
paint_back()
paint_cur(cur_x,cur_y,1)
imgrectangle((35,255,100,272),color["p1"])
bindkey()redraw(())
appuifwappexit_key_handler = quit()
_quit=0
while (1-_quit):
e32ao_sleep(02)
redraw(())
以上就是关于请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等全部的内容,包括:请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等、求一个编写的五子棋小游戏python的代码,求借鉴啊!!急急急。。。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!


