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

C語(yǔ)言鍵盤(pán)控制走迷宮小游戲

 更新時(shí)間:2020年06月16日 11:46:04   作者:Kingdeguo  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鍵盤(pán)控制走迷宮小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言鍵盤(pán)控制走迷宮小游戲的具體代碼,供大家參考,具體內(nèi)容如下

在看了《啊哈C語(yǔ)言》之后想寫(xiě)一個(gè)游戲demo

游戲的截圖

首先是啟動(dòng)界面

然后是初始化

接下來(lái)是鍵盤(pán)操控

地圖的復(fù)雜度也很容易修改。
也支持退出。按s鍵選擇退出游戲這個(gè)選項(xiàng)即可。

下面是源代碼

#include <stdio.h>
#include <stdlib.h>

void startUp();
void gameInstructions();
void menu(char c);
void gameMap();

char map[6][6]={"######",
 "#o # ",
 "# ## #",
 "# # #",
 "## #",
 "######"
 };


int main() {
 startUp();//游戲啟動(dòng)界面
 
 gameInstructions();//游戲說(shuō)明 
 
 //顯示菜單 
 printf(" -> 開(kāi)始游戲\n");
 printf("  退出游戲\n");
 printf("按Enter進(jìn)入游戲\n");
 char choose1;
 choose1 = getch();
 menu(choose1);
 
 //加載游戲地圖
 gameMap();
 
 //玩家進(jìn)行操作
 system("cls"); 
 int i,x,y,p,q,j;
 char ch;
 
 x=1;y=1;p=1;q=5;
 for(i=0;i<6;++i){
 printf("  ");
 for(j=0;j<6;++j){
 printf("%c ",map[i][j]);
 }
 printf("\n");
 }
 while(x != p || y != q){
 ch = getch();
 
 if(ch == 's' || ch == 'S'){
 if(map[x+1][y] != '#'){
 map[x][y] = ' ';
 x++;
 map[x][y] = 'o';
 }else{
 printf("\a");
 }
 }
 
 if(ch == 'w' || ch == 'W'){
 if(map[x-1][y] != '#'){
 map[x][y] = ' ';
 x--;
 map[x][y] = 'o';
 }else{
 printf("\a");
 }
 }
 
 if(ch == 'a' || ch == 'A'){
 if(map[x][y-1] != '#'){
 map[x][y] = ' ';
 y--;
 map[x][y] = 'o';
 }else{
 printf("\a");
 }
 }
 
 if(ch == 'd' || ch == 'D'){
 if(map[x][y+1] != '#'){
 map[x][y] = ' ';
 y++;
 map[x][y] = 'o';
 }else{
 printf("\a");
 }
 }
 
 system("cls");
 for(i=0;i<6;++i){
 printf("  ");
 for(j=0;j<6;++j){
 printf("%c ",map[i][j]);
 }
 printf("\n");
 }
 }
 system("cls");
 printf("You Win!\n");
 Sleep(3000); 
 return 0;
}

void startUp(){
 int i; 
 int circle = 2;
 for(i=0;i<circle;++i){
 system("cls"); 
 printf("  游戲正在加載");
 Sleep(500);
 system("cls"); 
 printf("  游戲正在加載.");
 Sleep(500);
 system("cls"); 
 printf("  游戲正在加載..");
 Sleep(500);
 system("cls"); 
 printf("  游戲正在加載...");
 Sleep(500);
 }
 system("cls"); 
 printf("  游戲加載完畢!\n");
 Sleep(1000); 
}

void gameInstructions(){
 printf("<---操作按鍵:[W][S][A][D]--->\n");
 printf("<---分別對(duì)應(yīng)[上][下][左][右]--->\n");
 printf("<---注意使用英文輸入法--->\n");
 Sleep(1000);
}

void menu(char c){
 system("cls");
 if(c == 'S' || c == 's'){
 printf("  游戲加載完畢!\n");
 printf("<---操作按鍵:[W][S][A][D]--->\n");
 printf("<---分別對(duì)應(yīng)[上][下][左][右]--->\n");
 printf("  開(kāi)始游戲\n");
 printf(" -> 退出游戲\n");
 printf("程序?qū)⒃?s后關(guān)閉\n");
 int i = 0;
 for(i=0;i<5;++i){
 system("cls");
 printf("程序?qū)⒃?%ds后關(guān)閉\n",5-i);
 Sleep(1000);
 } 
 exit(0);//退出程序 
 }else{
 printf("  游戲加載完畢!\n");
 printf("<---操作按鍵:[W][S][A][D]--->\n");
 printf("<---分別對(duì)應(yīng)[上][下][左][右]--->\n");
 printf(" -> 開(kāi)始游戲\n");
 printf("  退出游戲\n");
 printf("按Enter進(jìn)入游戲\n");
 
 }
}

void gameMap(){
 system("cls");
 printf("---正在加載游戲地圖---\n");
 
 int i, j;
 for(i=0;i<6;++i){
 printf("  ");
 for(j=0;j<6;++j){
 printf("%c ",map[i][j]);
 Sleep(100);
 }
 printf("\n");
 Sleep(200);
 }
 
 system("cls");
 printf("---Part1---\n");
 for(i=0;i<6;++i){
 printf("  ");
 for(j=0;j<6;++j){
 printf("%c ",map[i][j]);
 }
 printf("\n");
 }
}

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

相關(guān)文章

  • C語(yǔ)言double和float 實(shí)例分析

    C語(yǔ)言double和float 實(shí)例分析

    本文主要介紹了C語(yǔ)言中的浮點(diǎn)數(shù)(float,double),并通過(guò)實(shí)例代碼進(jìn)行分析比較,希望能幫助學(xué)習(xí)相關(guān)知識(shí)的同學(xué)
    2016-07-07
  • c++中的自增/自減操作方式

    c++中的自增/自減操作方式

    這篇文章主要介紹了C++中的自增和自減運(yùn)算符,包括前綴和后綴形式,并通過(guò)一個(gè)具體的例子解釋了自增/自減表達(dá)式的值與函數(shù)參數(shù)傳遞的關(guān)系,文章指出,自增/自減表達(dá)式的值是在表達(dá)式求值時(shí)確定的,而不是在自增/自減運(yùn)算后
    2025-03-03
  • C語(yǔ)言中單鏈表的基本操作指南(增刪改查)

    C語(yǔ)言中單鏈表的基本操作指南(增刪改查)

    鏈表跟數(shù)組不同的是非連續(xù)存儲(chǔ)結(jié)構(gòu),也就是說(shuō)實(shí)現(xiàn)鏈表需要一個(gè)指針,每用完一個(gè)節(jié)點(diǎn)指針指向下一個(gè)節(jié)點(diǎn),直至表尾,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中單鏈表的基本操作之增刪改查的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • C語(yǔ)言中((type *)0) 和(type *0)區(qū)別小結(jié)

    C語(yǔ)言中((type *)0) 和(type *0)區(qū)別小結(jié)

    ((type *)0)?和?(type *0)?在 C 和 C++ 中有不同的含義和用途,本文主要介紹了C語(yǔ)言中((type *)0) 和(type *0)區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • C語(yǔ)言?超詳細(xì)梳理總結(jié)動(dòng)態(tài)內(nèi)存管理

    C語(yǔ)言?超詳細(xì)梳理總結(jié)動(dòng)態(tài)內(nèi)存管理

    動(dòng)態(tài)內(nèi)存是相對(duì)靜態(tài)內(nèi)存而言的。所謂動(dòng)態(tài)和靜態(tài)就是指內(nèi)存的分配方式。動(dòng)態(tài)內(nèi)存是指在堆上分配的內(nèi)存,而靜態(tài)內(nèi)存是指在棧上分配的內(nèi)存,本文帶你深入探究C語(yǔ)言中動(dòng)態(tài)內(nèi)存的管理
    2022-03-03
  • 舉例講解C語(yǔ)言對(duì)歸并排序算法的基礎(chǔ)使用

    舉例講解C語(yǔ)言對(duì)歸并排序算法的基礎(chǔ)使用

    這篇文章主要介紹了C語(yǔ)言對(duì)歸并排序算法的使用,歸并排序算法的平均事件復(fù)雜度為(n\log n),需要的朋友可以參考下
    2016-05-05
  • C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程

    C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程

    下面小編就為大家分享一篇C 標(biāo)準(zhǔn)I/O庫(kù)的粗略實(shí)現(xiàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • C語(yǔ)言實(shí)現(xiàn)常見(jiàn)進(jìn)制轉(zhuǎn)換的示例代碼

    C語(yǔ)言實(shí)現(xiàn)常見(jiàn)進(jìn)制轉(zhuǎn)換的示例代碼

    生活中最常見(jiàn)的進(jìn)制是十進(jìn)制,而有一類編程題會(huì)要求將十進(jìn)制轉(zhuǎn)換為其他進(jìn)制,本文將主要講述C語(yǔ)言中常見(jiàn)的幾類進(jìn)制轉(zhuǎn)換問(wèn)題,希望對(duì)大家有所幫助
    2023-04-04
  • C++ 中 const和static readonly區(qū)別

    C++ 中 const和static readonly區(qū)別

    這篇文章主要介紹了C++ 中 const和static readonly區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C++控制臺(tái)實(shí)現(xiàn)簡(jiǎn)單人機(jī)對(duì)弈井字棋

    C++控制臺(tái)實(shí)現(xiàn)簡(jiǎn)單人機(jī)對(duì)弈井字棋

    這篇文章主要為大家詳細(xì)介紹了C++控制臺(tái)實(shí)現(xiàn)簡(jiǎn)單人機(jī)對(duì)弈井字棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論

大竹县| 靖宇县| 泗洪县| 中西区| 丰县| 延庆县| 时尚| 馆陶县| 鄂温| 贡山| 西盟| 桑植县| 乾安县| 江源县| 临潭县| 玛多县| 凤山市| 元氏县| 玛沁县| 临湘市| 额济纳旗| 临江市| 汉中市| 华宁县| 古丈县| 嘉善县| 中宁县| 老河口市| 宿松县| 读书| 罗山县| 手游| 绵竹市| 山东省| 容城县| 溆浦县| 东宁县| 益阳市| 元朗区| 铁岭县| 揭西县|