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

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

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

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

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

游戲的截圖

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

然后是初始化

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

地圖的復(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(" -> 開始游戲\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("  開始游戲\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(" -> 開始游戲\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),并通過實(shí)例代碼進(jìn)行分析比較,希望能幫助學(xué)習(xí)相關(guān)知識(shí)的同學(xué)
    2016-07-07
  • c++中的自增/自減操作方式

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

    這篇文章主要介紹了C++中的自增和自減運(yùn)算符,包括前綴和后綴形式,并通過一個(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ì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2017-12-12
  • C語(yǔ)言實(shí)現(xiàn)常見進(jìn)制轉(zhuǎn)換的示例代碼

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

    生活中最常見的進(jìn)制是十進(jìn)制,而有一類編程題會(huì)要求將十進(jìn)制轉(zhuǎn)換為其他進(jìn)制,本文將主要講述C語(yǔ)言中常見的幾類進(jìn)制轉(zhuǎ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)論

宁强县| 建宁县| 天津市| 比如县| 婺源县| 南江县| 游戏| 河东区| 黄龙县| 五寨县| 阿瓦提县| 汉川市| 朝阳县| 云和县| 汾西县| 阳泉市| 理塘县| 龙门县| 周口市| 彭州市| 依兰县| 睢宁县| 儋州市| 商水县| 玛多县| 永善县| 临武县| 四子王旗| 牟定县| 三都| 桐城市| 南充市| 民勤县| 潼南县| 绥中县| 安达市| 浮梁县| 高雄县| 新干县| 铜山县| 友谊县|