三九宝宝网宝宝教育学龄段教育

c程序设计迷宫

02月16日 编辑 39baobao.com

[VB程序设计中怎么设计猜数游戏??]天啊 你再加个判断就可以啊 你是真的不会写 还是懒得写啊 把下面的代码拷贝过去 自己运行一下就知道怎么加这些限制 其实就加一个不可重复输入数字和猜的字数就可以了 把我...+阅读

这个可行的/*4.3.3源程序*/#include#include#include#include#include#define N 20/*迷宫的大小,可改变*/int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/int yes=0;/*yes是判断是否找到路的标志,1找到,0没找到*/int way[100][2],wayn=0;/*way数组是显示路线用的,wayn是统计走了几个格子*/void Init(void);/*图形初始化*/void Close(void);/*图形关闭*/void DrawPeople(int *x,int *y,int n);/*画人工探索物图*/void PeopleFind(int (*x)[N]);/*人工探索*/void WayCopy(int (*x)[N],int (*y)[N]);/*为了8个方向的递归,把旧迷宫图拷贝给新数组*/int FindWay(int (*x)[N],int i,int j);/*自动探索函数*/void MapRand(int (*x)[N]);/*随机生成迷宫函数*/void PrMap(int (*x)[N]);/*输出迷宫图函数*/void Result(void);/*输出结果处理*/void Find(void);/*成功处理*/void NotFind(void);/*失败处理*/void main(void)/*主函数*/{ int map[N][N]; /*迷宫数组*/ char ch; clrscr(); printf("\n Please select hand

(1) else auto\n");/*选择探索方式*/ scanf("%c",&ch); Init(); /*初始化*/ MapRand(map);/*生成迷宫*/ PrMap(map);/*显示迷宫图*/ if(ch=='1') PeopleFind(map);/*人工探索*/ else FindWay(map,1,1);/*系统自动从下标1,1的地方开始探索*/ Result();/*输出结果*/ Close();}void Init(void)/*图形初始化*/{ int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc");}void DrawPeople(int *x,int *y,int n)/*画人工控制图*/{/*如果将以下两句注释掉,则显示人工走过的路径,*/ setfillstyle(SOLID_FILL,WHITE); /*设置白色实体填充样式*/ bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6);/*恢复原通路*/ switch(n)/*判断x,y的变化,8个方向的变化*/ { case 1: (*x)--;break; /*上*/ case 2: (*x)--;(*y)++;break ;/*右上*/ case 3: (*y)++;break; /*右*/ case 4: (*x)++;(*y)++;break; /*右下*/ case 5: (*x)++;break; /*下*/ case 6: (*x)++;(*y)--;break; /*左下*/ case 7: (*y)--;break; /*左*/ case 8: (*x)--;(*y)--;break; /*左上*/ } setfillstyle(SOLID_FILL,RED);/*新位置显示探索物*/ bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6);}void PeopleFind(int (*map)[N])/*人工手动查找*/{ int x,y; char c=0;/*接收按键的变量*/ x=y=1;/*人工查找的初始位置*/ setcolor

(11); line(500,200,550,200); outtextxy(570,197,"d"); line(500,200,450,200); outtextxy(430,197,"a"); line(500,200,500,150); outtextxy(497,130,"w"); line(500,200,500,250); outtextxy(497,270,"x"); line(500,200,450,150); outtextxy(445,130,"q"); line(500,200,550,150); outtextxy(550,130,"e"); line(500,200,450,250); outtextxy(445,270,"z"); line(500,200,550,250); outtextxy(550,270,"c");/*以上是画8个方向的控制介绍*/ setcolor(YELLOW); outtextxy(420,290,"Press 'Enter' to end");/*压回车键结束*/ setfillstyle(SOLID_FILL,RED); bar(100+y*15-6,50+x*15-6,100+y*15+6,50+x*15+6);/*入口位置显示*/ while(c!=13)/*如果按下的不是回车键*/ { c=getch();/*接收字符后开始各个方向的探索*/ if(c=='w'&map[x-1][y]!=1) DrawPeople(&x,&y,1);/*上*/ else if(c=='e'&map[x-1][y+1]!=1) DrawPeople(&x,&y,2);/*右上*/ else if(c=='d'&map[x][y+1]!=1) DrawPeople(&x,&y,3);/*右*/ else if(c=='c'&map[x+1][y+1]!=1) DrawPeople(&x,&y,4);/*右下*/ else if(c=='x'&map[x+1][y]!=1) DrawPeople(&x,&y,5);/*下*/ else if(c=='z'&map[x+1][y-1]!=1) DrawPeople(&x,&y,6); /*左下*/ else if(c=='a'&map[x][y-1]!=1) DrawPeople(&x,&y,7); /*左*/ else if(c=='q'&map[x-1][y-1]!=1) DrawPeople(&x,&y,8); /*左上*/ } setfillstyle(SOLID_FILL,WHITE); /*消去红色探索物,恢复原迷宫图*/ bar(100+y*15-6,50+x*15-6,100+y*15+6,50+x*15+6); if(x==N-2&y==N-2)/*人工控制找成功的话*/ yes=1; /*如果成功标志为1*/}void WayCopy(int (*oldmap)[N],int (*map)[N])/*拷贝迷宫数组 */{ int i,j; for(i=0;i

以下为关联文档:

用VB编写程序设计猜数游戏窗体<pre t="code" l="vb">Dim a As Byte Dim b As Byte '回车次数 Private Sub Command1_Click() Randomize a = Int(Rnd * 100 + 1) Command1.Enabled = False b = 0 End Sub<pre...

如何学好程序设计语言编译原理诚求1.明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的...

小学计算机程序设计基础课“计算机程序设计基础”是计算机基础教学系列中的核心课程,主要介绍程序设计语言的基本知识和程序设计的方法与技术。其内容以程序设计语言的语法知识和程序设计的基本方法为...

面向对象程序设计课程设计#include#include#includeclass stu { char name[20]; double math,chinese,english,average,sum; public: stu() { } stu(char n[20],double ma,double chin,double eng) {...

C程序设计基础课程综合设计实践教学课题考核急啊!1(1/2)#includeusing namespace std;int main(){ void menu(); void fun1(int); // 用于计算阶乘积 void fun2(int); //用于计算累加和 void fun3(int,int);//用于计算某个正整...

C语言程序设计使用菜单设计选择四个趣味程序还有一个退出程序#include#includemain(){ int a; printf("请输入序号:\n1.xxx。 2.xxx。 3.xxx 4.xxx 5.退出程序。\n"); if(!scanf("%d",&a)) { MessageBox(NULL,"您输入的并不是数字,程序崩溃。","错误...

小学生计算机程序设计竞赛活动一、指导思想和目标 1、掌据计算机软件、硬件基本常识; 2、计算机信息存储的基本原理; 3、计算机程序设计相关数学知识及应用; 4、程序设计语言、程序设计三种基本结构; 5、分析...

C课程设计迷宫急给出详细的我看了一下上一个回答,编的还不错,但是有漏洞,同时不能自己改动设计迷宫样式,我又完善了一下,可以自己设计迷宫的样式,同时操作能漂亮点!!!希望能帮上你!! 注意 数组大小为 a[10][20]...

c语言的课程设计:迷宫问题参考一下这个/*4.3.3源程序*/#include#include#include#include#include#define N 20/*迷宫的大小,可改变*/int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/int yes=0;/...

推荐阅读
图文推荐