| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 走迷宫小游戏编程 -> 正文阅读 |
|
[游戏开发]走迷宫小游戏编程 |
获取方向键的功能:?使用头文件?getch.ch??中的getch函数 ??1、在windows中把getch.h头文件放入共享文件夹 ??2、在终端进入共享文件夹 ???cd?/media/sf_share/ ??3、复制头文件到标准库: ??sudo?cp?getch.h??/usr/include/ ??4、加读权限; ???sudo?chmod?+r?/usr/include/getch.h ???上?183?下?184?右?185?左?186 ??走迷宫: ??1、定义一个二维数组来作为迷宫 ???1?“#”??????????0?“?” ???2?“@”?????????? ??2、定义一个变量记录老鼠坐标 ??3、记录游戏开始时间 ??4、进入死循环 ????0、清理屏幕?system(“clear”) ????1、显示迷宫 ????2、获取方向键并处理 ?????判断前方是否是路 ???????如果是: ???????1、旧位置=0 ???????2、新位置=2 ???????3、更新老鼠坐标 ????3、判断是否到达出口 ??????是:获取游戏结束时间 ???????结束程序 程序: #include<stdio.h> #include<getch.h>? #include<time.h> #include<stdlib.h> int?main(?int?argc,const?char*?argv[]) { ?//?定义迷宫地图 ?char?maze[10][10]?={ ?????{1,1,1,1,1,1,1,1,1,1}, ?????{1,0,1,1,1,0,1,0,1,1}, ?????{1,0,1,0,1,0,0,0,0,1}, ?????{1,2,1,0,1,0,1,0,1,1}, ?????{1,0,1,0,0,0,1,0,0,0}, ?????{1,0,0,0,1,0,1,1,1,1}, ?????{1,0,1,1,1,0,0,0,1,1}, ?????{1,0,1,1,1,1,1,0,1,1}, ?????{1,0,1,1,1,1,1,1,1,1}, ?????{1,1,1,1,1,1,1,1,1,1}, ?????}; ????//定义老鼠位置? ??int?mouse_x=3,mouse_y=1; ??//?获取开始时间 ???time_t?start_time?=?time(NULL); ???for(;;) ???{ ???//清理屏幕 ???system("clear"); ??for(int?i=0;i<10;i++) ????????{ ????????for(int?j=0;j<10;j++) ????????????{ ????????????switch(maze[i][j]) ????????????????{ ????????????????case?0:?printf("?");break; ????????????????case?1:?printf("#");break; ????????????????case?2:?printf("@");break; ????????????????} ????????????} ????????????printf("\n"); ????????} ????//判断是否到达出口 ????if(4?==?mouse_x?&&?9?==?mouse_y) ????????{ ????????printf("恭喜通关\n"); ????????printf("用时%lu秒\n",time(NULL)-start_time); ????????break; ????????} ????//获取方向键并处理 ????switch(getch()) ????{ ????case?183:?? ?????????if(0?==?maze[mouse_x-1][mouse_y]) ?????????{?maze[mouse_x][mouse_y]=0; ?????????maze[mouse_x-1][mouse_y]=2; ???????????mouse_x=mouse_x-1; ?????????}??break; ????case?184:? ?????????if(0?==?maze[mouse_x+1][mouse_y]) ?????????{?maze[mouse_x][mouse_y]=0; ?????????maze[mouse_x+1][mouse_y]=2; ???????????mouse_x=mouse_x+1; ?????????}??break; ????case?185:? ?????????if(0?==?maze[mouse_x][mouse_y+1]) ?????????{?maze[mouse_x][mouse_y]=0; ?????????maze[mouse_x][mouse_y+1]=2; ???????????mouse_y=mouse_y+1; ?????????}?break; ????case?186: ?????????if(0?==?maze[mouse_x][mouse_y-1]) ?????????{?maze[mouse_x][mouse_y]=0; ?????????maze[mouse_x][mouse_y-1]=2; ???????????mouse_y=mouse_y-1; ?????????}??break; ????} ????} } |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:51:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |