1. 预览
2. 实现思路
- 通过二位列表,确定每个数字所在的位置;
- 通过字典的引用变量,直接改变字典中的数;
- 将二维列表变成一维列表抽取随机位置;
- 使用random产生随机的数字2或者4
- 通过tkinter绘制UI界面监听键盘
3. 依赖引入
import tkinter as tk
import numpy as np
import random
4. 代码解析
4.1 初始化参数
- 初始化画布得宽高和网格数量boardNum*boardNum
- 计算每个格子得宽高
- 初始化游戏是否结束和记分器归0
- 初始化网格列表init_board
def __init__(self, width=340, height=340, boardNum = 4):
# 初始化参数
self.width = width
self.height = height
self.cellspace = 10
self.boardNum = boardNum
self.cellw = (width - self.cellspace * (boardNum + 1)) / boardNum
self.cellh = self.cellw
sel
|