VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1080|回复: 3

[原创] 贪吃蛇思路

[复制链接]
09_avatar_middle
在线会员 发表于 2015-6-5 18:06:26 | 显示全部楼层 |阅读模式
源码信息
源代码类型: -
源代码作者: -
编译器版本: -
代码注释: -
数据库种类: -
预览图片: -
源代码简介: -
1、数据结构及其抽象数据类型的定义。
(1)栈的抽象数据类型
ADT Stack{
数据对象:D={ai| ai∈CharSet,i=1,2…n,n>=0}
数据关系:R1={<ai-1, ai >| ai-1, ai∈D,i=2,…n}
基本操作:
InitStack(&S)
操作结果:构造一个空栈S。
DestroyStack(&S)
初始条件:栈S已存在。
操作结果:销毁栈S。
ClearStack(&S)
初始条件:栈S已存在。
操作结果:将S清为空栈。
StackLength(S)
初始条件:栈S已存在。
操作结果:返回栈S的长度。
StackEmpty(S)
初始条件:栈S已存在。
操作结果:若S为空栈,则返回TRUE,否则返回FALSE。
GetTop(S,&e)
初始条件:栈S已存在。
操作结果:若栈S不空,则以e返回栈顶元素。
Push(&S, e)
初始条件:栈S已存在。
操作结果:在栈S的栈顶插入新的栈顶元素e。
Pop(&S,&e)
初始条件:栈S已存在。
操作结果:删除S的栈顶元素,并以e返回其值。
StackTraverse(S,visit())
初始条件:栈S已存在。
操作结果:从栈底到栈顶依次对S中的每个元素调用函数visit()。
} ADT Stack

(2)迷宫的抽象数据类型
ADT maze{
数据对象:D={ai,j| ai,j∈{ ' ','#','@','*'},0<=i<=m+1,0<=j<=n+1,m,n<=10}
数据关系:R={ROW,COL}
基本操作:
InitMaze(&M,a,row,col)
初始条件:二维数组a[row+2][col+2]已存在,其中自第1行至第row+1行,每行中自第1列至第col+1列的元素已有值,并且以值0表示通路,以值1表示障碍。
操作结果:构成迷宫的字符型数组,以空白字符表示通路,以字符‘#’表示障碍,并在迷宫四周加上一圈障碍。
MazePath(&M)
初始条件:迷宫M已被赋值。
操作结果:若迷宫M中存在一条通路,则按以下规定改变迷宫M的状态:以字符’*’表示路径上的位置,字符‘@’表示“死胡同”,否则迷宫的状态不变。
PrintMaze(M)
初始条件:迷宫M已存在。
操作结果:以字符形式输出迷宫。
} ADT maze

2、整体框架
本程序包含三个模块
(1)栈 模 块 —— 实现栈抽象数据类型
(2)迷宫模块 —— 实现迷宫抽象数据类型
(3)主程序模块:
void mian()
{
   初始化;
  Do{
接受命令;
处理命令;
}while(命令!=“退出”);
}




上一篇:16进制编码转换软件
下一篇:自定义字符串类
02_avatar_middle
在线会员 发表于 2015-6-6 10:19:52 | 显示全部楼层
能具体一点吗
08_avatar_middle
在线会员 发表于 2015-6-6 10:55:54 | 显示全部楼层
贪吃蛇思路
07_avatar_middle
在线会员 发表于 2018-9-6 11:24:37 来自手机 | 显示全部楼层
woliveyou 发表于 2015-6-6 10:55

具体一下吧
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-21 07:48

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表