最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C/C++語言生成一個隨機迷宮游戲

 更新時間:2016年12月26日 17:15:41   投稿:mrr  
迷宮相信大家都走過,主要是考驗?zāi)愕倪壿嬎季S。今天小編使用C語言生成一個隨機迷宮游戲,具體實現(xiàn)代碼,大家通過本文學(xué)習(xí)吧

迷宮相信大家都走過,畢竟書本啊啥啥啥的上面都會有迷宮,主要就是考驗?zāi)愕倪壿嬎季S。那么我們學(xué)習(xí)C/C++也是需要學(xué)習(xí)到邏輯思維方式的,那今天我就來分享一下,如何用C/C++打造一個簡單的隨機迷宮游戲。(代碼的話我只截取了如何創(chuàng)建迷宮的代碼,如果想要全套代碼的話可以加群:558502932,群內(nèi)有很多C/C++學(xué)習(xí)資料提供學(xué)習(xí),大家一起交流進步)

完整版的迷宮游戲效果如下:

代碼如下:

//創(chuàng)建迷宮
void CreateMaze(int x,int y)
{
//定義4個方向
int dir[4][2] = { 0, 1, 1, 0, 0, -1, -1, 0 }; //回答錯誤
//打亂方向
int j,temp; //temp 臨時變量
for (int i = 0; i < 4; i++)
{
j = rand() % 4; //0-3 數(shù)組的下標(biāo) //j隨機之后 j同一次還會不會變
temp = dir[i][0];
dir[i][0] = dir[j][0];
dir[j][0] = temp;
temp = dir[i][1];
dir[i][1] = dir[j][1];
dir[j][1] = temp;
}
map[x][y] = ROAD; //把這個點賦值成路
for (int i = 0; i < 4; i++)
{
if (map[x + 2 * dir[i][0]][y + 2 * dir[i][1]] == WALL) //向上 0 1 //隔壁的一個
{
map[x + dir[i][0]][y + dir[i][1]] = ROAD;
CreateMaze(x + 2*dir[i][0], y + 2*dir[i][1]);
}
}
}
int main()
{
srand((unsigned int)time(NULL));
for ( int i = 0; i <= HEIGHT+1; i++)
{
for (int j = 0; j <= WIDTH + 1; j++)
{
if (i == 0 || i == HEIGHT + 1 || j == 0 || j == WIDTH + 1)
{
map[i][j] = ROAD;
}
else
{
map[i][j] = WALL;
}
}
}
CreateMaze(2 * (rand() % (HEIGHT / 2) + 1), 2 * (rand() % (WIDTH / 2) + 1));
//邊界
for (int i = 0; i <= HEIGHT + 1; i++)
{
map[i][0] = WALL;
map[i][WIDTH + 1] = WALL;
}
for (int i = 0; i <=WIDTH+1; i++)
{
map[0][i] = WALL;
map[HEIGHT + 1][i] = WALL;
}
//畫出入口和出口
map[2][1] = START;
map[HEIGHT - 1][WIDTH] = END;
for (int i = 1; i <= HEIGHT; i++)
{
for (int j = 1; j <= WIDTH; j++)
{
paint(i, j);
}
}
paint(0, 0);
return 0;
}

這只是里面的一部分代碼,所以你們復(fù)制粘貼也是沒用的,給你們代碼只是輔導(dǎo)作用,主要是你們要知道編程思想及程序設(shè)計的思路,希望你們能學(xué)好C/C++學(xué)成C/C++咯。

最后,如果想要全套代碼的話可以加群:558502932,群內(nèi)有大量學(xué)習(xí)資料提供學(xué)習(xí),大家共同學(xué)習(xí),共同進步。

以上所述是小編給大家介紹的使用C/C++語言生成一個隨機迷宮游戲,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C++結(jié)構(gòu)體作為函數(shù)參數(shù)傳參的實例代碼

    C++結(jié)構(gòu)體作為函數(shù)參數(shù)傳參的實例代碼

    這篇文章主要介紹了C++結(jié)構(gòu)體作為函數(shù)參數(shù)傳參的實例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • C語言線性表之雙鏈表詳解

    C語言線性表之雙鏈表詳解

    這篇文章主要為大家詳細(xì)介紹了C語言線性表之雙鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 使用C++進行Cocos2d-x游戲開發(fā)入門過程中的要點解析

    使用C++進行Cocos2d-x游戲開發(fā)入門過程中的要點解析

    這篇文章主要介紹了使用C++進行Cocos2d-x游戲開發(fā)入門過程中的要點解析,主要針對畫面變化以及觸摸響應(yīng)方面,需要的朋友可以參考下
    2015-12-12
  • C++中inline用法案例詳解

    C++中inline用法案例詳解

    這篇文章主要介紹了C++中inline用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • c++ TCHAR轉(zhuǎn)string導(dǎo)致中文缺失或亂碼問題及解決

    c++ TCHAR轉(zhuǎn)string導(dǎo)致中文缺失或亂碼問題及解決

    這篇文章主要介紹了c++ TCHAR轉(zhuǎn)string導(dǎo)致中文缺失或亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 用C語言實現(xiàn)2048游戲

    用C語言實現(xiàn)2048游戲

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)2048游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言推箱子游戲?qū)崿F(xiàn)代碼

    C語言推箱子游戲?qū)崿F(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C語言推箱子游戲?qū)崿F(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C++11運算符重載和向量類重載實例詳解(<<,>>,+,-,*等)

    C++11運算符重載和向量類重載實例詳解(<<,>>,+,-,*等)

    這篇文章主要給大家介紹了關(guān)于C++11運算符重載和向量類重載的相關(guān)資料,主要包括<<,>>,+,-,*等,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • C++ vector數(shù)組用法及解析

    C++ vector數(shù)組用法及解析

    這篇文章主要給大家分享的是C++ vector數(shù)組用法及解析,什么是什么是vector數(shù)組呢?下面文章將對打家做詳細(xì)介紹,感興趣的小伙伴可以參考一下
    2021-10-10
  • C++二叉搜索樹及其實現(xiàn)方法實例代碼

    C++二叉搜索樹及其實現(xiàn)方法實例代碼

    這篇文章主要介紹了C++二叉搜索樹及其實現(xiàn)方法的相關(guān)資料,搜索二叉樹是一種左小右大的二叉樹結(jié)構(gòu),支持高效查找、插入和刪除操作,需要的朋友可以參考下
    2025-06-06

最新評論

右玉县| 铜山县| 普安县| 临高县| 兰坪| 陆丰市| 南丹县| 南投县| 栾川县| 建瓯市| 大邑县| 峨眉山市| 雷州市| 晋宁县| 达州市| 兴海县| 北安市| 静乐县| 耿马| 乌拉特中旗| 昭平县| 武汉市| 镇远县| 濮阳县| 麟游县| 洞口县| 诏安县| 伊宁市| 八宿县| 卫辉市| 牟定县| 石台县| 昌都县| 静海县| 胶州市| 石屏县| 芷江| 淮安市| 夏邑县| 楚雄市| 湟源县|