《程序设计与算法综合训练》课程设计报告
课程设计题目:
专
年
业:
级:
团队成员:
(学号姓名)
指导教师:
打地鼠
电子信息工程
2017 级
C41714015
C41714039
P11714041
P11714007
P11714039
安徽大学电子信息工程学院
2018 年 7 月 26 日
《程序设计与算法综合训练》
指导教师:李新华
目 录
1 游戏描述 ..................................................................... 2
1.1 游戏背景 ................................................................... 2
1.2 游戏规则 ................................................................... 2
1.3 游戏操作 ................................................................... 2
2 系统设计 ..................................................................... 3
2.1 流程图 ..................................................................... 3
2.2 功能模块设计 ............................................................... 4
2.2.1 图形界面化板块 ........................................................... 4
2.2.2 锤子点击板块 ............................................................. 6
2.2.3 游戏界面初始化板块 ....................................................... 6
2.2.4 结束判定板块 ............................................................. 7
2.3 数据结构设计 ............................................................... 7
2.4 函数功能描述 ............................................................... 8
3 详细设计(程序实现) ......................................................... 9
3.1 开始界面 ................................................................... 9
3.2 选择界面 ................................................................... 9
3.3 地图和游戏元素初始化 ...................................................... 10
3.4 锤子的设置 ................................................................ 10
3.5 游戏界面 .................................................................. 10
3.6 游戏结束界面 .............................................................. 11
3.7 背景音乐界面 .............................................................. 11
4 团队分工 .................................................................... 11
5 小结 ........................................................................ 12
5.1 小组总结 .................................................................. 12
5.2 小组成员总结 .............................................................. 12
参考文献 ...................................................................... 14
1
《打地鼠》
C41714015 马树森
打地鼠
摘要:本游戏是一个休闲简单的经典打地鼠游戏,该游戏为单人游戏。游戏通过鼠标操作锤子
击打随机出洞的地鼠,从而获得一定的奖励。每次击打地鼠有三次允许失误的机会。该游戏
简洁,灵活且休闲益智。
关键词:打地鼠,C 语言,EasyX,图形化界面,人机交互
1 游戏描述:
1.1 游戏背景
打地鼠游戏是一款非常有趣的休闲敏捷类游戏,单人操作,适用于生活休闲,
训练敏捷速度,操作简单、易于上手。玩家可以移动鼠标控制锤子点击,通过击
中随机出洞的地鼠,积分。
1.2 游戏规则
共分为两种结束条件,只要有一个条件成立,游戏即结束。
(1) 一共有五次剩余机会,每错打一次减一,五次扣完,就算结束。
(2) 倒计时 60 秒,时间结束,游戏也结束。
(3) 如果无任何操作,地鼠在规定时间内自动下降,不加分,也不扣分。
(4) 难度共分为三级,简单模式、困难模式、地狱模式,相应的速度也会
增加,玩家可以在开始界面后选择难度,相应的,地鼠上升下降的速度也加快。
1.3 游戏操作
本游戏操作简单、易于上手。玩家通过移动鼠标单击左键击打地鼠即可。
若打中其他区域则剩余机会减一,减至 0 则游戏结束。
2
《程序设计与算法综合训练》
指导教师:李新华
2 系统设计
2.1 流程图
图 1 流程图
3
《打地鼠》
2.2 功能模块设计
2.2.1 图形界面化板块
(1)开始界面
C41714015 马树森
开始界面利用 loadimage、putimage 完成背景贴图,同理将处理好的图片(新
游戏、退出、音量键)加载贴图,并利用 rectangle、setlinecolor 设置白色矩形边框,
鼠标移动至相应按键处变为矩形框变为红色。如图 2 所示:
(2)难度选择界面
图 2 开始界面
同理,利用 loadimage、putimage 函数完成相应图片的粘贴并利用 rectangle、
setlinecolor 设置矩形边框。如图 3 所示:
4
《程序设计与算法综合训练》
指导教师:李新华
(3)游戏运行界面
图 3 难度选择界面
将背景图裁为 4 部分逐一加载贴图,利用 for 循环依次完成小、中、大各三只
地鼠的贴图,并通过图片遮盖及随机数的方式实现只有一只地鼠随机冒出。左上
角设置非客户区显示得分、剩余机会、倒计时。如图 4 所示:
图 4 游戏运行界面
5
《打地鼠》
(4)游戏结束界面
C41714015 马树森
与开始界面相同,利用 loadimage、putimage 函数完成相应图片的粘贴。如图
5 所示:
2.2.2 锤子点击板块
图 5 结束游戏
总体上是利用 switch case 结构,通过鼠标是否点击来判断锤子是否击打,若
鼠标左键按下,则将原锤子图片替换为锤子锤下的图片。
同时,仍旧需要考虑鼠标的点击位置;在锤子移动的过程中,还需要将锤子
的坐标返回,并将其与地鼠随机出现的坐标比较,若击中,则得分加 1,未击中剩
余机会减 1。
因为锤子移动与地鼠随机冒出要同时进行,因此需要将其放入线程中。
2.2.3 游戏界面初始化板块
将背景图裁为 top、mid_up、mid_down、bottom 四部分,先贴三张小地鼠图
片,再贴 mid_up 背景图,遮盖住刚才贴上的小地鼠。同理依次贴上中地鼠、
mid_down、大地鼠、bottom。创建地鼠类 MyDishu,并将地鼠放至数组 ds[9]中,
6