zoukankan      html  css  js  c++  java
  • 029 寻找出口——迷宫小游戏(do while)

    涉及行列循环习惯上用法双层for循环,此篇我们用两个do while循环来实现。迷宫的节点信息用二维数组因为要判断节点的通断情况,在内层的do while循环中再嵌套一个switch判断。

    算法流程镇楼!

    #include <iostream>
    using namespace std;

    int main()
    {
    int migong[5][5]={{0,0,1,1,1},{1,0,0,1,1},{1,1,0,1,1},{1,1,0,0,1},{1,1,1,0,2}}; //创建迷宫
    int row,column;
    int path_row[25];
    int path_column[25];
    for(int i=0;i<25;i++)
    path_row[i]=path_column[i]=0;

    row=0;
    column=0;
    int count=0;

    do{
    column=0;
    do{
    switch(migong[row][column]){
    case 0:
    path_row[count]=row;
    path_column[count]=column;
    cout<<"加油,快要找到出口了"<<endl;
    count++;
    break;
    case 1:
    cout<<"不可通行"<<endl;
    break;
    case 2:
    path_row[count]=row;
    path_column[count]=column;
    cout<<"到达出口"<<endl;
    count++;
    break;
    }
    column +=1;
    }while(column<5);
    row +=1;
    }while(row<5);

    cout<<"到达出口的路径为:"<<endl;
    for(int j=0;j<count;j++)
    {
    cout<<"("<<path_row[j]<<","<<path_column[j]<<")->";
    }
    cout<<endl;

    return 0;
    }

    运行结果:

     

     分析:这款迷宫设计比较简单,主要是为了实践do while循环。运行之初输入自己设计的节点二维矩阵,经分析和测试,要使输出结果正常,设计的迷宫不可有分支岔道,不能有迂回线路,通路宽度需为1。否则程序打印的路径就是顺序的逐行可以通行的点,以此程序为基础加上其他功能改进较好。

  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/butta/p/6393969.html
Copyright © 2011-2022 走看看