# “华容道”游戏项目模板
import simpleguitk as gui
# 全局变量
canvas_height = 500 # 画布高度,单位为像素
canvas_width = 400 # 画布宽度,单位为像素
game_over = False # 游戏是否结束
figure_moving = False # 是否有运动的人物
figures = {} # 所有人物
steps = 0 # 移动步数
current_figure = None # 鼠标点中的人物
current_center = [] # 鼠标点中人物的中心坐标
original_point = [] # 鼠标点击的初始位置坐标,用来计算鼠标拖动的方向
speed = 5 # 人物移动的速度
machao_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/machao.png')
zhangfei_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/zhangfei.png')
zhaoyun_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/zhaoyun.png')
huangzhong_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/huangzhong.png')
guanyu_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/guanyu.png')
caocao_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/caocao.png')
soldier_image = gui.load_image('http://202.201.225.74/video/PythonResoure/ProjectResource/images/project6/shibing.png')
# Figure类(棋子类)
class Figure:
def __init__(self, image, src_center, src_size, des_center, des_size, name, move_direction = None):
self.image = image # 棋子图像
self.src_center = src_center # 源图像中心坐标
self.src_size = src_size # 源图像大小
self.des_center = des_center # 画布显示图像中心坐标
self.des_size = des_size # 画布显示图像大小
self.name = name # 棋子名称,如“曹操”
self.move_direction = move_direction # 移动方向
def get_des_center(self):
pass
def get_des_size(self):
pass
def get_name(self):
pass
def set_move_direction(self, direction):
pass
def draw(self, canvas):
pass
def update(self):
pass
def collide(self, other):
global figure_moving, steps
pass
# # 检查移动与其它静止棋子及边界的碰撞
def check_collide():
pass
# 绘制全部棋子
def draw_figures(figures, canvas):
pass
# 绘制游戏结束信息
def draw_game_over_msg(canvas, msg):
pass
# 鼠标点击事件的处理函数
def mouse_click(pos):
pass
# 鼠标拖动事件的处理函数
def mouse_drag(pos):
pass
# 屏幕刷新事件处理函数
def draw(canvas):
pass
# 为游戏开始或重新开始初始化全局变量,也是鼠标点击按钮的事件处理函数
def start_game():
pass
# 创建窗口初始化画布
frame = gui.create_frame("华容道之横刀立马", canvas_width, canvas_height)
label = frame.add_label("移动次数 = 0 步")
# 注册事件处理函数
frame.set_draw_handler(draw) # 显示处理,每秒调用draw函数60次
button = frame.add_button('重新开始游戏', start_game, 50) # 鼠标每次点击“重新开始游戏”按钮,调用start_game函数1次
frame.set_mouseclick_handler(mouse_click) #
frame.set_mousedrag_handler(mouse_drag)
# 启动游戏
start_game() # 为游戏开始或重新开始初始化全局变量
frame.start() # 显示窗口
一点都不小
模板已给,实际步骤不多
求大佬
加钱...不加钱看不懂
再给出的模板pass部分写代码就行……