• 大小: 4KB
    文件类型: .py
    金币: 2
    下载: 1 次
    发布日期: 2021-06-07
  • 语言: Python
  • 标签:

资源简介

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_

评论

共有 条评论