推箱子游戏课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
C
4 18025
2
3 4Esc
(1)
CPUPentium III 600
64MB
128MB
(2)
Turbo C 2.0
1
5
1
2
推箱子游戏
移功移初动能动画始小控箱图化人制子模模模模模块 块 块块块
开始
第一关开始
按Esc键退出 否 是否继续 完成?
是
按空格键回到 否 任务开始 有无成功 希望?
是
否
是否成功?
是
是 是否是第 4关?
显示通关信息 否 进入下一关
判断移动方向
是 下一步状态
为w ?
否
是 否 下一步状态 当前状态为输出空字符、调用
为 m或0? m? printMan()
否是
调用printMan()和
printDestination()
是 否 否 下一步状态下下一步状下下一步状为b? 态为0? 态为m?
否 是 是
moveBoxSpacetoSpace() moveBoxSpacetoDes()
否 当前状态为
m?
是
printDestination()
光标移动到下一步处
是否否下一步状态下下一步状下下一步状为i? 态为0? 态为m?
否 是 是
moveBoxDestoSpace() moveBoxDestoDes()
否 当前状态为
m?
是
printDestination()
光标移动到下一步
处
读取下一键
5
move()Move()
void move(int x,int y,char a)
{
switch(a)
{
case 'u':
if(!judge(x-1,y))
{
gotoxy(y,x);
break;
}
else if(judge(x-1,y)==1||judge(x-1,y)==3)
{
if(judge(x,y)==3)
{
printDestination(x,y);
printMan(x-1,y);
break;
}
else
{
printf(" ");
printMan(x-1,y);
break;
}
}
else if(judge(x-1,y)==2)
{
if(judge(x-2,y)==1)
{
moveBoxSpacetoSpace(x,y,'u');
if(judge(x,y)==3)
printDestination(x,y);
gotoxy(y,x-1);
}
else if(judge(x-2,y)==3)
{
moveBoxSpacetoDes(x,y,'u');
if(judge(x,y)==3)
printDestination(x,y);
gotoxy(y,x-1);
}
else
gotoxy(y,x);
break;
}