资源简介
2048小游戏(Python)源代码,可完整运行在Python2和Python3中
代码片段和文件信息
#2048小游戏
from Tkinter import *
import random #插入获取随机数的库
import tkMessageBox #此模块提供了一个功能,用它来显示适当的消息.
root = Tk(className = “2048“)
root.geometry(“320x360“) #初始化窗口的大小
str_data=[]
B_list = []
frame2 = frame(rootborderwidth = 12) #设置框架,边框宽度
#数字颜色设置
dic_color = {0:‘GhostWhite‘ 2:‘AliceBlue‘ 4:‘LightCyan‘ 8:‘Khaki‘16:‘SandyBrown‘ 32:‘Goldenrod‘64:‘Orange‘128:‘Maroon‘256:‘Tomato‘512:‘OrangeRed‘1024:‘FireBrick‘2048:‘Red‘}
#初始化方格
list_data=[0000000000000000]
left=0
up=1
right=2
down=3
derection_index=[ [[0123][4567][891011][12131415]]
[[04812][15913][261014][371115]]
[[3210][7654][111098][15141312]]
[[12840][13951][141062][151173]] ]
for i in range(16): #16个迭代
str_data.append(StringVar())
B_list.append(Button(frame2 width=4 height=2 textvariable = str_data[i] font = (“Courier 20 bold roman“)bg=dic_color[0]))
B_list[i].grid(row=i/4column=i%4)
def CanMove(derection index): #定义能够移动函数
for i in range(1 4):
if list_data[derection_index[derection][index][i]] == list_data[derection_index[derection][index][i-1]]:
return True
if list_data[derection_index[derection][index][i]] != 0 and list_data[derection_index[derection][index][i-1]] == 0:
return True
return False
def DealSpace(derection index): #定义处理空间函数
for i in [321]:
if list_data[derection_index[derection][index][i]] == 0:
continue
if list_data[derection_index[derection][index][i-1]] == 0:
j = i
while (j < 4):
list_data[derection_index[derection][index][j-1]] = list_data[derection_index[derection][index][j]]
list_
评论
共有 条评论