动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.C++的错误和异常处理分析.
.类——C++面向对象编程的基石.
.改变打开对话框中"打开&quo.
.VC++开发BHO插件—定制浏览器.
.怎样才能判断出用户上传的文件中.
.程序宝典:C++学习感想.
.C++中的struct专题研究.
.如何把一个网页存为一个单独的mh.
.井字棋游戏.不够完善.
.旋转的立体椭球(效果非常好).
.MCI(媒体控制接口)相关知识.
.C++中函数指针数组的使用.
.C++箴言:了解C++偷偷加上和调用了.
.gcc支持在#pragma语句中使用宏替.
.c++面向对象的编程入门篇-----类.
.More Effective C++:通过引用捕.
.精华:C++编程新手错误语录(续一).
.C/C++指针应用.
.简单图形模拟吃豆游戏.
.深入研究 C++中的 STL.

大家进来瞧瞧我编的小迷宫,望大虾不吝赐教啊

发表日期:2008-3-8 |


# define m2 50
# define n2 50
# define maxlen 200                 /*栈长度*/
# define true 1
# define false 0
# define null 0
# include "stdio.h"
# include "graphics.h"
# include "stdlib.h"
# include "dos.h"
int m,n; typedef strUCt                   
{ int x,y,dir;}elemtype;
typedef struct
{ elemtype stack[maxlen];         
  int top;
}sqs;
typedef struct                    { int dx,dy;}moved;
void inimaze (int maze[][n2])    
{ int i,j;
  for(i=1;i<=m;i++)
    {
      for(j=1;j<=n;j++)maze[i][j]=rand()/16383;
    }
for (i=0,j=0;i<=m+1;i++)
    maze[i][j]=1;
for (i=0,j=n+1;i<=m+1;i++)
    maze[i][j]=1;
for (i=0,j=0;j<=n+1;j++)
    maze[i][j]=1;
for (i=m+1,j=0;j<=n+1;j++)
    maze[i][j]=1;
}
void picture (int maze[][n2])                   
{
  int i,j;
  setbkcolor(BLACK);
  for(i=0;i<m+2;i++)
  { for (j=0;j<n+2;j++)
     { if(maze[i][j]==1)
  {  setfillstyle(1,LIGHTBLUE);
     bar (70+j*20,20+i*20,88+j*20,38+i*20);
  }
 else
  {  setfillstyle(1,WHITE);
    bar (70+j*20,20+i*20,88+j*20,38+i*20);
         }
     }
  }
 outtextxy(90,460,"press any key to start");
 getch();
} void inimove(moved move[])      { move[0].dx=0;move[0].dy=0;
  move[1].dx=0;move[1].dy=1;
  move[2].dx=1;move[2].dy=1;
  move[3].dx=1;move[3].dy=0;
  move[4].dx=1;move[4].dy=-1;
  move[5].dx=0;move[5].dy=-1;
  move[6].dx=-1;move[6].dy=-1;
  move[7].dx=-1;move[7].dy=0;
  move[8].dx=-1;move[8].dy=1;
}
void inistack(sqs *s)                 { s->top=-1;} int push(sqs *s,elemtype t)           {  int i,j;
   if (s->top==maxlen-1)return(false);
   else
   {
       i=t.x;j=t.y;
       setfillstyle(1,GREEN);
       bar (70+j*20,20+i*20,88+j*20,38+i*20);
       s->stack[++s->top]=t;
       return(true);
   }
}
elemtype pop(sqs *s)            
{ elemtype elem;
    if (s->top<0)
     {
       elem.x=null;
       elem.y=null;
       elem.dir=null;
       return(elem);
     }
   else
     { int i,j;
       i=s->stack[s->top].x;j=s->stack[s->top].y;
       setfillstyle(1,RED);
       bar (70+j*20,20+i*20,88+j*20,38+i*20);
       s->top--;
       return(s->stack[s->top+1]);
     }
}
void path(int maze[][n2],moved move[],sqs *s)    {  int i,j,dir,x,y,f;
   elemtype elem;
   i=1;j=1;dir=0;
   maze[1][1]=0;                               do
    {  x=i+move[dir].dx;
       y=j+move[dir].dy;
       if (maze[x][y]==0)
            { elem.x=x;elem.y=y;elem.dir=dir;
       f=push(s,elem);
       delay(15000);
              if (f==false) printf("栈长度太短");
       i=x;j=y;dir=0;maze[x][y]=-1;
     }
       else
     {   if (dir<9) dir++;     else
   {
      elem=pop(s);
      if (elem.x!=null)
      {
       i=elem.x;
       j=elem.y;
       dir=elem.dir+1;
       }
                 }
}}while(!((s->top==-1)&&(dir>=7)(x==m)&&(y==n)&&(maze[x][y]==-1)));   if(s->top==-1)
  printf("       !!!  no pass   !!!    ");
  else { elem.x=x;elem.y=y;elem.dir=dir;
        f=push(s,elem);
 setfillstyle(1,GREEN);
 bar (70+j*20,20+i*20,88+j*20,38+i*20);
 getch();
 }
}
void start()
{ int h;
  for(h=5;h<=18;h++)
   {
    setfillstyle(1,h);
    bar (80,80,520,180);
    setcolor(h+2);
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
    outtextxy(150,90,"!WELCOME TO MAZE!");
    delay(15000);
    }
    for(h=0;h<13;h++)printf(" ");
    settextstyle(SMALL_FONT,HORIZ_DIR,6);
    setcolor(LIGHTCYAN);
    printf(" ");printf("     ");
    outtextxy(90,200,"input the length of the maze(0-30):");
    scanf("%d",&m);
    for(h=0;h<2;h++)printf(" ");
    printf(" ");printf("     ");
    outtextxy(90,250,"input the wideth of the maze(0-30):");
    scanf("%d",&n);
}
void main()
{
sqs *s;
int maze[m2][n2];
moved move[8];
initgraph(VGA,VGAHI,"");
start();
system("cls");
inimaze(maze);
picture(maze);
s=(sqs*)malloc(sizeof(sqs));
inistack(s);
inimove(move);
path(maze,move,s);
getch();
}

上一篇:递归找迷宫 人气:381
下一篇:ARP & ICMP 人气:363
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵