用easyx图形库做一个简单的c++小游戏———贪吃蛇

贪吃蛇游戏博客链接:(方法一样,语言不一样)
c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/106850986
python贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/110383746
java贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/112095059

正文开始
开发环境:visual c++6.0
库:easyx图形库 下载地址>>> (https://easyx.cn/downloads/)

我把游戏分成三个界面,第一个是初始界面,第二个是游戏界面,第三个就是死亡界面。分别写到3个函数里去调用。

成果展示:
初始界面:


游戏界面:


死亡界面:

附上代码:

#include <easyx.h>//图形库graphics.h
#include <iostream>//cpp头文件
#include <conio.h>//按键操作的头文件
#include <time.h>//提取时间,用来生成随机数
using namespace std;
void area1();//开始界面
void area2();//游戏界面
void area3();//结束界面int main(){initgraph(500,500);//初始一个图形区域(宽500,长500)BeginBatchDraw();//开始绘图area1();//开始界面area2();//游戏界面area3();//死亡界面return 0;
}void area1(){//开始界面的函数do{setbkmode(TRANSPARENT);setfillcolor(WHITE);//设置背景颜色solidrectangle(0,0,500,500);settextcolor(GREEN);//设置字体颜色settextstyle(50,0,"楷体");//设置字体样式;outtextxy(110,100,"贪吃蛇游戏");//输出字体settextcolor(BLACK);settextstyle(30,0,"楷体");outtextxy(200,200,"START");settextstyle(20,0,"楷体");outtextxy(150,230,"(按回车进入下一步)");settextcolor(LIGHTGRAY);outtextxy(150,250,"A代表左   D代表右");outtextxy(150,270,"W代表上   S代表下");FlushBatchDraw();//输出绘图getch();//停止,等待操作}while(GetKeyState(13)>=0);//回车判断
}void area2(){//游戏界面的函数int s[52][52];int lon=3;//蛇的长度int way=1;//蛇的方向int x=25,y=25;//蛇的初始位置srand(int(time(0)));int rx=1+rand()%49;//食物的横坐标int ry=1+rand()%49;//食物的纵坐标for(int i=1;i<=50;i++)for(int j=1;j<=50;j++)s[i][j]=0;//空地的值为0while(s[rx][ry]!=0){rx=1+rand()%49;ry=1+rand()%49;}s[rx][ry]=-1;//食物的值为-1while(1){//主循环开头Sleep(100);setfillcolor(WHITE);//设置背景颜色solidrectangle(0,0,500,500);if(GetKeyState(65)<0&&way!=2)//a,向左,同时确保不反向自杀way=1;if(GetKeyState(68)<0&&way!=1)//d,向右,同时确保不反向自杀way=2;if(GetKeyState(83)<0&&way!=4)//s,向下,同时确保不反向自杀way=3;if(GetKeyState(87)<0&&way!=3)//w,向上,同时确保不反向自杀way=4;if(way==1)x--;if(way==2)x++;if(way==3)y++;if(way==4)y--;if(x<=0||x>50||y<=0||y>50||s[x][y]>0)//撞墙或自食则游戏结束break;s[x][y]=lon;//蛇的值为正数for(int i=1;i<=50;i++){for(int j=1;j<=50;j++){if(s[i][j]>0){s[i][j]--;setfillcolor(GREEN);//设置当前颜色为绿色(蛇)solidrectangle((i-1)*10,(j-1)*10,i*10,j*10);//形成无边框矩形}if(s[i][j]==-1){setfillcolor(RED);//设置当前颜色为红色(食物)solidrectangle((i-1)*10,(j-1)*10,i*10,j*10);//形成无边框矩形}if(x==rx&&y==ry){//蛇吃到食物lon++;while(s[rx][ry]!=0){rx=1+rand()%49;ry=1+rand()%49;}//whiles[rx][ry]=-1;}//if}//for}//forFlushBatchDraw();//输出绘图}//主循环结尾
}void area3(){//死亡界面的函数setbkmode(TRANSPARENT);setfillcolor(WHITE);//设置背景颜色solidrectangle(0,0,500,500);settextcolor(BLACK);//设置字体颜色settextstyle(50,0,"楷体");//设置字体样式;outtextxy(120,200,"有待提高!");//输出字体settextstyle(20,0,"楷体");;outtextxy(150,270,"(3秒后自动关闭)");FlushBatchDraw();//输出绘图Sleep(3000);//单位以毫秒计算getch();closegraph();
}

做得比较简易,但基本功能都能实现。(这是我之前写的代码,或许有点乱,但基本上我都有写上注释)。

用easyx图形库做一个简单的c++小游戏---贪吃蛇相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

最新文章

  1. GDCM:gdcm::Directory的测试程序
  2. [html] 说说你对HTML元素的显示优先级的理解
  3. PHP中 .= 的意思
  4. CCNP实验---EIGRP自动汇总
  5. andorid 三种方式的练习
  6. Epic Citadel Demo展示互联网作为游戏平台的巨大能量
  7. 各国货币代码表(Currency Code)
  8. 51黑单片机论坛c语言,51黑论坛_51单片机轻松入门—基于STC15W4K系列
  9. java 调用 easypr_EasyPR-Java项目maven版本所需jar包
  10. postgresql客户端代码上传中文数据到服务器
  11. Qt下载(多种下载通道+所有版本)(付在线教程)
  12. python:16进制转2进制
  13. 有T2 表中的数据,求出NAME中每组累加 / 每组总数的比例大于0.6 的id 和name
  14. EXCEL如何批量调整图片大小?
  15. 我的世界java版注册账号教程_我的世界java版官方购买教程
  16. 锂电池的充电电压和电流应该是多少
  17. 字节跳动算法工程师总结:成功入职阿里月薪45K
  18. 归结原则_被聘为自由职业者归结为一件事:信任。
  19. 《新文学》风吹过,雨无痕
  20. 武汉星起航——卖家关注!亚马逊为促进行业发展,近期有了新动作

热门文章

  1. 护眼灯频闪是什么意思?如何消除led灯频闪
  2. 仿淘宝 阿里云登录 密码和扫码切换登录
  3. 图新地球 “请选择目标图层后再下载”
  4. python数星星问题
  5. layui中实现动态的cols表头字段
  6. 千锋python培训机构可靠吗
  7. 【音频处理】Melodyne 音高调整 ( 打开音频文件 | 选择音高编辑工具 | 样本音高信息 | 音高自动调整 )
  8. 办税、缴税,原来支付宝里就能搞定
  9. wgs84 转百度地图坐标
  10. Axure RP 9笔记