亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++實現(xiàn)迷宮游戲

 更新時間:2020年03月19日 15:51:02   作者:LY_624  
這篇文章主要為大家詳細介紹了C++實現(xiàn)迷宮游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C++實現(xiàn)迷宮游戲的具體代碼,供大家參考,具體內(nèi)容如下

#include<iostream>
using namespace std;
 
//點為2表示迷宮圖為"█",點為0表示迷宮圖為" "
int migo[9][9]=
{
  {2, 2, 2, 2, 2, 2, 2, 2, 2},
  {2, 0, 0, 0, 0, 0, 0, 0, 2},
  {2, 0, 2, 2, 0, 2, 2, 0, 2},
  {2, 0, 2, 0, 0, 2, 0, 0, 2},
  {2, 0, 2, 0, 2, 0, 2, 0, 2},
  {2, 0, 0, 0, 0, 0, 2, 0, 2},
  {2, 2, 0, 2, 2, 0, 2, 0, 2},
  {2, 0, 0, 0, 0, 0, 0, 0, 2},
  {2, 2, 2, 2, 2, 2, 2, 2, 2}
};
//迷宮圖
 
int starti=1,startj=1;//出發(fā)點
int endi=7,endj=7;//出口
 
/*******
遞歸算法:
  算法中,if語句即為遞歸函數(shù)的出口,當?shù)竭_迷宮出口時,輸出;
  若未到達迷宮出口,并且存在可走路徑即迷宮中為" "時,依次進行
  各個方向上的探索,直到找到將所有可能的結(jié)果試探完為止。
*******/
void visit(int i,int j)
{
  int m,n;
  migo[i][j]=1;  //當值為1表示此點可以走
  /*
  此為遞歸出口,如果一步步試探成功,即到達迷宮出口,則輸出迷宮圖"█"及路徑"◇"
  */
  if(i==endi&&j==endj)//判斷有沒有到到達迷宮出口
  {
    cout<<endl;
    for(m=0; m<9; m++)
    {
      for(n=0; n<9; n++)
      {
        if(migo[m][n]==2)  //如果為值為2,表示迷宮中為"█"
          cout<<"█";
        else if(migo[m][n]==1)
          cout<<"◇";
        else
          cout<<" ";
      }
      cout<<endl;
    }
  }
  if(migo[i][j+1]==0)
    visit(i,j+1);//四種走法,右,下,左,上
  if(migo[i+1][j]==0)
    visit(i+1,j);
  if(migo[i][j-1]==0)
    visit(i,j-1);
  if(migo[i-1][j]==0)
    visit(i-1,j);
  migo[i][j]=0;
}
 
/********
main函數(shù):
首先顯示給出的迷宮圖,然后調(diào)用visit函數(shù),對迷宮進行探索
********/
int main()
{
  int i,j;
  cout<<"顯示迷宮:"<<endl;
  for(i=0; i<9; i++)
  {
    for(j=0; j<9; j++)
      if(migo[i][j]==2)
        cout<<"█";
      else
        cout<<" ";
    cout<<endl;
  }
  cout<<"迷宮路徑如下:";
  visit(starti,startj);
  return 0;
}

運行結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言進階:指針的進階(2)

    C語言進階:指針的進階(2)

    這篇文章主要介紹了C語言指針詳解及用法示例,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下
    2021-09-09
  • 基于c的for循環(huán)中改變變量值的問題

    基于c的for循環(huán)中改變變量值的問題

    本篇文章是對c語言的for循環(huán)中改變變量值的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ Boost PropertyTree解析INI文件詳解

    C++ Boost PropertyTree解析INI文件詳解

    Boost PropertyTree庫不僅可以解析JSON,XML格式,還可以直接解析INI格式文件。這篇文章就是為大家介紹一下如何通過Boost PropertyTree解析INI文件,需要的可以參考一下
    2022-01-01
  • c++ 類和對象總結(jié)

    c++ 類和對象總結(jié)

    這篇文章主要介紹了c++ 類和對象總結(jié)一,需要的朋友可以參考下
    2020-01-01
  • C++初階學(xué)習(xí)之模板進階

    C++初階學(xué)習(xí)之模板進階

    這篇文章主要為大家介紹了C++模板進階,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • MFC中Radio Button的用法詳解

    MFC中Radio Button的用法詳解

    這篇文章主要介紹了MFC中Radio Button的用法,需要的朋友可以參考下
    2014-07-07
  • 解析c語言switch中break語句的具體作用

    解析c語言switch中break語句的具體作用

    以下是對c語言switch中break語句的作用進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • C語言楊氏矩陣查找算法實例講解

    C語言楊氏矩陣查找算法實例講解

    楊氏矩陣是一個數(shù)字矩陣,矩陣的每一行從左到右一次遞增,矩陣從上到下遞增,在這樣的矩陣中查找一個數(shù)字是否存在。時間復(fù)雜度小于O(N),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-09-09
  • C++實現(xiàn)LeetCode(139.拆分詞句)

    C++實現(xiàn)LeetCode(139.拆分詞句)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(139.拆分詞句),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++面試八股文之如何避免死鎖詳解

    C++面試八股文之如何避免死鎖詳解

    在C++中,鎖(Lock)是一種同步工具,用于保護共享資源,防止多個線程同時訪問,那么如何避免死鎖的情況出現(xiàn)呢,下面就為大家簡單講講
    2023-07-07

最新評論