全球旧事资料 分类
径,其中采
用了栈来存储可行路径3)栈基本元素的定义感到模糊,最后确定用三元组形式实现4)文件的存盘和读出功能功过直接对数组操作实现
4程序可以进行改进的地方
程序若实现将文件中地图数组读出并转化为整形数组进行操作,则可实现地图改变后保存更新的功能
5程序中可以扩充的功能及设计实现假想
实现电脑自己走迷宫的功能同样应用刷屏实现,这个功能应当建立在mazepath函数之上,电脑每找出一条路径,则在出栈的时候自动演示
五、测试结果
f六、用户手册
进入用户界面之后选择1,2,3选择你要进行的功能选项选择1进入游戏界面,通过w、s、a、d实现上下左右的行走
f走到终点系统自动提示你的成绩和运行结果。选择2进入游戏自动寻路,自动显示出游戏所以路径选择3进入修改地图界面,输入一组坐标,数字之间用空格隔开,若选择y则保存,
则不保存,系统自动进入新的游戏界面,你将面对新的地图进行游戏
七、体会与自我评价
关于走迷宫小游戏的总结
虽然走迷宫小游戏实现了要求的基本功能,但是我也看到了自己在编程方面的极大欠缺。针对迷宫小游戏,基本的难点是:1)如何实现老鼠的移动,2)如何创建函数实现电脑自动找出迷宫所有路径,3)如何实现地图数组的存盘功能。
对于第一个问题,其实我感觉还是很简单的,用数组创建地图,其中1表示墙壁,0表示可通路径,重点问题在于如何实现老鼠的移动,最终我决定利用刷屏实现,每移动一下则从新打印一下地图,基本实现了行走功能。
对于第二个问题,本来自己按照课本版的做了一个,利用栈来实现,但是结果只能实现找出一条路径,这与问题要求差的太远,通过和学长的交流以及查阅资料,最终敲定一个函数。采用递归调用的思想,先右函数一直向右走,判断之后找出一条路径,让后逐步退栈,使每一个坐标四个方位都被判断,最终搜素出一条新路径并打印出来。这个函数的最大特点是,退栈的时候并不是退出栈中的元素,而是把栈中三元组的top减一,然后对坐标重新下一方向的搜索,若可通,入栈,若不可通,继续退栈,对上一个坐标进行一次的操作。
第三个问题最后让我头疼不已。不过最后的讨论之后,我采用把数组存入文件中后,单个以i
t型读出,赋值到新的数组中(当作的地图数组),再创建一个保存地图数组的新函数edit函数,从而实现了文件的读出。这个小问题是我对文件操作加深了了解。对于c语言的复习进一步加深。
走迷宫虽然是一个小游戏,但是内部所展现的数据结构的思想却很精湛。尤r
好听全球资料 返回顶部