用easyx图形库做一个简单的c++小游戏---迷宫游戏
用easyx图形库做一个简单的c++小游戏–迷宫游戏
开发环境:visual c++6.0
库:easyx图形库 下载地址>>> https://easyx.cn/downloads/
里面用到了文件操作的知识,就是把迷宫的地图根据0,1的格式写入txt文件中,然后再导入迷宫地图。
成果展示:
附上代码:
first_maze.txt文件
第一行是迷宫的列数与行数。第二行开始是迷宫的地图,其中的1代表墙壁,0代表道路。
16 18
0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0
0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0
0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0
0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0
1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0
1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0
0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0
0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0
0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0
0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0
0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0
0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1
0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 1
0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1
0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1
0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1
cpp文件
#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>
#include <graphics.h> //easyx图形库
using namespace std;
int n,m,s[50][50],x,y;
int way=0;//确定方向
int main(){cout<<"操作介绍:a向左,d向右,w向上,s向下"<<endl;cout<<"------------------------------------按任意键进入游戏---------------------------------";getch();ifstream in;in.open("first_maze.txt"); //打开文件in>>m>>n;//m代表列16,n代表行18for(int i=0;i<=n+1;i++){//多加1,形成墙壁for(int j=0;j<=m+1;j++){s[j][i]=1;}//for}//forfor(i=1;i<=n;i++){//导入文件中的地图for(int j=1;j<=m;j++){in>>s[j][i];}//for}//forin.close(); //关闭文件x=1;y=1;initgraph(180,180);BeginBatchDraw();//开始绘图while(1){Sleep(50);way=0;setfillcolor(WHITE);solidrectangle(0,0,200,200);if(GetKeyState(65)<0&&s[x-1][y]==0)way=1;//a,向左if(GetKeyState(68)<0&&s[x+1][y]==0)way=2;//d,向右if(GetKeyState(83)<0&&s[x][y+1]==0)way=3;//s,向下if(GetKeyState(87)<0&&s[x][y-1]==0)way=4;//w,向上if(way==1)x--;if(way==2)x++;if(way==3)y++;if(way==4)y--;for(int i=y-4;i<y+4;i++){for(int j=x-4;j<x+4;j++){if(s[j][i]==1){setfillcolor(BLACK); //绘制墙壁solidrectangle((j-x+4)*20,(i-y+4)*20,(j-x+5)*20,(i-y+5)*20);}//ifif(i==18&&j==1){setfillcolor(GREEN); //绘制终点solidrectangle((j-x+4)*20,(i-y+4)*20,(j-x+5)*20,(i-y+5)*20);}//ifif(i==y&&j==x){setfillcolor(RED); //绘制人物solidrectangle((j-x+4)*20,(i-y+4)*20,(j-x+5)*20,(i-y+5)*20);}//if}//for}//forFlushBatchDraw();if(x==1&&y==18){Sleep(1000);break;}}//whilesetfillcolor(WHITE);solidrectangle(0,0,200,200);settextcolor(BLACK);settextstyle(20,0,"楷体");setbkmode(TRANSPARENT);outtextxy(0,60,"恭喜你闯关成功");FlushBatchDraw();Sleep(2000);return 0;
}
END!
用easyx图形库做一个简单的c++小游戏---迷宫游戏相关推荐
- 用pygame做一个简单的python小游戏---贪吃蛇
用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...
- 用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...
- 用pygame做一个简单的python小游戏---生命游戏
用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...
- python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...
- 做一个简单的java小游戏--单机版五子棋
做一个简单的java小游戏–单机版五子棋 学了java有一段时间了,今天就来搞一个简单的单机版五子棋游戏. 实现功能:那必须能进行基础的输赢判断.还有重新开始的功能,悔棋的功能,先手设置的功能和退出的 ...
- 做一个简单的java小游戏--贪吃蛇
做一个简单的java小游戏–贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/detail ...
- 用Python做一个简单的表白小弹窗
有小伙伴喜欢研究编程语言做小弹窗的吗,既有趣又可以装13哦. 下面就给小伙伴演示一个简单的表白小弹窗. from tkinter import * from tkinter import messag ...
- 用python做一个简单的猜拳小游戏
首先要对random这个模块有所了解,其次再使用if条件语句.下面我们来看下这几行代码的思路 利用random可以生成随机的数字,与玩家所输入的数字进行对比,在多个if条件语句的帮助下,从而做到对输赢 ...
- 【鸿蒙】 使用定时器做一个简单的抢红包小游戏
1.新建项目 2. 添加 计时器,按钮组件 <?xml version="1.0" encoding="utf-8"?> <Direction ...
- 用所学JS的知识做一个简单的坦克小游戏
代码如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...
最新文章
- bzoj29894170数列——二进制分组+主席树
- linux tar 参数 cvf xvf cvzf zxvf 区别
- 如何在三个月掌握三年的经验
- PAT1061 判断题 (15 分)
- 大学生体育运动网页设计模板代码 校园篮球网页作业成品 学校篮球网页制作模板 学生简单体育运动网站设计成品...
- STM32入门学习 第七天
- 硬件PCB发热严重,天线信号不良的整改
- cwRsync文件同步
- DirectX11参考资料之美
- fiddler视频分析
- 越狱软件可带来千万量级用户
- windows系统清除电脑地址栏文件(夹)路径
- FFMpeg 滤镜中英文对照
- PS之立体台球制作步骤
- 互联网协议 — 802.1q VLAN 虚拟局域网协议
- SMILES Enumeration
- WINVNC源码阅读(三)
- python求奇偶数和_python奇偶数求和
- 3D学到什么程度能月入过万?
- 全栈的好处:七天和两周