用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++小游戏---迷宫游戏相关推荐

  1. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

  2. 用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...

  3. 用pygame做一个简单的python小游戏---生命游戏

    用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...

  4. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...

  5. 做一个简单的java小游戏--单机版五子棋

    做一个简单的java小游戏–单机版五子棋 学了java有一段时间了,今天就来搞一个简单的单机版五子棋游戏. 实现功能:那必须能进行基础的输赢判断.还有重新开始的功能,悔棋的功能,先手设置的功能和退出的 ...

  6. 做一个简单的java小游戏--贪吃蛇

    做一个简单的java小游戏–贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/detail ...

  7. 用Python做一个简单的表白小弹窗

    有小伙伴喜欢研究编程语言做小弹窗的吗,既有趣又可以装13哦. 下面就给小伙伴演示一个简单的表白小弹窗. from tkinter import * from tkinter import messag ...

  8. 用python做一个简单的猜拳小游戏

    首先要对random这个模块有所了解,其次再使用if条件语句.下面我们来看下这几行代码的思路 利用random可以生成随机的数字,与玩家所输入的数字进行对比,在多个if条件语句的帮助下,从而做到对输赢 ...

  9. 【鸿蒙】 使用定时器做一个简单的抢红包小游戏

    1.新建项目 2. 添加 计时器,按钮组件 <?xml version="1.0" encoding="utf-8"?> <Direction ...

  10. 用所学JS的知识做一个简单的坦克小游戏

    代码如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...

最新文章

  1. 【直播】张晋:心跳信号分类模型融合
  2. 消息队列之 RabbitMQ
  3. 目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉
  4. 树状数组模板1——单点修改区间查询
  5. 自定义注解-aop实现日志记录
  6. 如何将Git上的项目克隆到idea中
  7. 请求--拦截器--action经过
  8. boost::sort模块实现相关字符串插入测试
  9. mybatis源码解析(五) --- typehandler注册和处理的查询结果对象的类型转换
  10. 插件 KSImageNamed 用图片时自动显示图片缩略图
  11. 主流集成控制系统:EPICS和TANGO
  12. Nginx 企业级优化
  13. Android 设置桌面背景
  14. Attach函数的讲解
  15. 哥德尔不完全性定理 关系 谓词和代入——哥德尔读后之二十
  16. DirectShow实现视频的实时显示并抓图,可以设置视频参数
  17. 计算学生分数的最大值,最小值和总分
  18. TI推出工业市场最强异构处理器AM57X 双核A15怕不怕
  19. hashmap中的key是有序的么_美团面试题:Hashmap结构,1.7和1.8有哪些区别(史上最最详细解析)...
  20. 警惕“山寨版”云安全bd或是定时炸弹

热门文章

  1. RFT(Rational Functional Test)是IBM开发的一套自动化测试工具,可以测试web, GUI和console。
  2. RCAN论文笔记:Image Super-Resolution Using Very Deep Residual Channel Attention Networks
  3. 吴裕雄--天生自然 诗经:琵琶行
  4. 个人经典音乐收藏(五)love to be loved by you,Marc Terenzi
  5. 0基础学软件测试工程师好学吗?
  6. 抖音新版抓包方案,绕过sslpinning 直接修改so
  7. 居家也可以减肥?懒人瘦身也能行-987减肥网
  8. 绕过AppLocker系列之弱路径规则的利用
  9. ML Hyperlink
  10. Android Room 数据实体类详解