用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. bzoj29894170数列——二进制分组+主席树
  2. linux tar 参数 cvf xvf cvzf zxvf 区别
  3. 如何在三个月掌握三年的经验
  4. PAT1061 判断题 (15 分)
  5. 大学生体育运动网页设计模板代码 校园篮球网页作业成品 学校篮球网页制作模板 学生简单体育运动网站设计成品...
  6. STM32入门学习 第七天
  7. 硬件PCB发热严重,天线信号不良的整改
  8. cwRsync文件同步
  9. DirectX11参考资料之美
  10. fiddler视频分析
  11. 越狱软件可带来千万量级用户
  12. windows系统清除电脑地址栏文件(夹)路径
  13. FFMpeg 滤镜中英文对照
  14. PS之立体台球制作步骤
  15. 互联网协议 — 802.1q VLAN 虚拟局域网协议
  16. SMILES Enumeration
  17. WINVNC源码阅读(三)
  18. python求奇偶数和_python奇偶数求和
  19. 3D学到什么程度能月入过万?
  20. 全栈的好处:七天和两周

热门文章

  1. 嵌入式程序员基本知识二(转载)
  2. 双光耦开关电源电路图_开关电源中的光耦典型电路设计分析
  3. 新疆旅游攻略-喀纳斯
  4. e站app里站hosts_[装修记 天猫家装e站~大庆站]
  5. 福师计算机应用基础在线作业,福师《计算机应用基础》在线作业二 下列软件中属于应用软件的是...
  6. 机器学习(二)--- KNN(K-Nearest Neighbors)
  7. 瀑布图有什么用?怎么画?
  8. 学习《西方哲学史》摘录
  9. 《创业算法》:技术人做CEO的优势和劣势
  10. C语言输出三位数的水仙花数