本文实例为大家分享了C语言键盘控制走迷宫小游戏的具体代码,供大家参考,具体内容如下
在看了《啊哈C语言》之后想写一个游戏demo
游戏的截图
首先是启动界面
然后是初始化
接下来是键盘操控
地图的复杂度也很容易修改。
也支持退出。按s键选择退出游戏这个选项即可。
下面是源代码
#include <stdio.h> #include <stdlib.h> void startUp(); void gameInstructions(); void menu(char c); void gameMap(); char map[6][6]={"######", "#o # ", "# ## #", "# # #", "## #", "######" }; int main() { startUp();//游戏启动界面 gameInstructions();//游戏说明 //显示菜单 printf(" -> 开始游戏 "); printf(" 退出游戏 "); printf("按Enter进入游戏 "); char choose1; choose1 = getch(); menu(choose1); //加载游戏地图 gameMap(); //玩家进行操作 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(" "); } 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(" "); } } system("cls"); printf("You Win! "); 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(" 游戏加载完毕! "); Sleep(1000); } void gameInstructions(){ printf("<---操作按键:[W][S][A][D]---> "); printf("<---分别对应[上][下][左][右]---> "); printf("<---注意使用英文输入法---> "); Sleep(1000); } void menu(char c){ system("cls"); if(c == "S" || c == "s"){ printf(" 游戏加载完毕! "); printf("<---操作按键:[W][S][A][D]---> "); printf("<---分别对应[上][下][左][右]---> "); printf(" 开始游戏 "); printf(" -> 退出游戏 "); printf("程序将在5s后关闭 "); int i = 0; for(i=0;i<5;++i){ system("cls"); printf("程序将在 %ds后关闭 ",5-i); Sleep(1000); } exit(0);//退出程序 }else{ printf(" 游戏加载完毕! "); printf("<---操作按键:[W][S][A][D]---> "); printf("<---分别对应[上][下][左][右]---> "); printf(" -> 开始游戏 "); printf(" 退出游戏 "); printf("按Enter进入游戏 "); } } void gameMap(){ system("cls"); printf("---正在加载游戏地图--- "); int i, j; for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); Sleep(100); } printf(" "); Sleep(200); } system("cls"); printf("---Part1--- "); for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); } printf(" "); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_44895666/article/details/106769631