看板Programming
标 题请问老鼠走迷宫
发信站摩卡小筑 (Fri Aug 1 09:19:46 2008)
转信站ptt!ctu-reader!ctu-peer!news.nctu!csnews.cs.nctu!news.cs.nctu!news.NHC
我的堆叠之老鼠走迷宫程式 老鼠是一次跑完 有没有办法让画面的老鼠是一步一步走完
程式大概:
#include <cstdlib>
#include <iostream>
class Road
{ ...............
...............
(处理push和pop)
};
using namespace std;
char maze[22][22];//地图
int top=0;
void draw_map(char maze[22][22]);//画地图
void run_path(int row,int col,Road* mark);//判别路径
int main(int argc, char *argv[])
{
.......................
.......................
(输入开启档案名称=>读入阵列)
int row=1,col=1;//起点(1,1)
Road mark[100]; //纪录座标
mark[top].push(row,col);//push (1,1)
maze[row][col] = '2';//走过,将该图上的位置标示为 2
draw_map(maze);//画出迷宫图案
run_path(row,col,mark);
system("PAUSE");
return EXIT_SUCCESS;
}
void draw_map(char maze[22][22])//印出地图
{
system("CLS");
........................
........................
(印出地图 包括:墙 道路 老鼠走过的位置)
}
void run_path(int row,int col,Road* mark)
{
int step=0,item=0;//step 步数 item 宝物
while((row != 20)||(col != 20))//没走到终点,继续走
{
if(maze[row+1][col+1]=='0' || maze[row+1][col+1]=='*')//右下方
{if(maze[row+1][col+1]=='*' ) item++;
row++; col++;
}
.......................................
.........................................
..........................(判别方向)
step++;
top++;//前进
mark[top].push(row,col);//将目前的座标纪录下来
maze[row][col] = '2';//凡走过,则将该图上的位置标示为 2
}
draw_map(maze);//画出迷宫图案
cout<<"Cost :"<<step<<" Get item :"<<item<<endl;
}
会动的老鼠怎麽显示 我不想画面一下就印出牠跑完 至少要慢慢走=.=a
--
被一片叶子迷惑的话,就看不到树。被一棵树迷惑的话,就看不到森林。
别把心留在任何地方,在不知不觉间就会全部看到˙˙˙这样才叫看。
--
※ Origin: 摩卡小筑 <moca.csie.chu.edu.tw>
◆ From: sw169-85-149.adsl.seed.net.tw