这个案例给出了14级同学大一时实现的贪吃蛇小游戏,分步骤代码、游戏素材可以从百度云盘下载:http://pan.baidu.com/s/1c1lYKQ

首先可以打开Exe_final目录下的Exe_final.dsw工程文件,编译运行,以下为对应的游戏动图效果:

主要实现内容包括:贪吃蛇移动 、道具判定、加速减速、生命条处理、分数处理、暂停处理、键盘或鼠标操控。

代码中Loop函数主要控制贪吃蛇的移动及每一帧的必须要完成的指令,其中小蛇的移动和转弯是贪吃蛇游戏实现的难点。

假设小蛇初始状态为:

上图左侧是对应游戏数据的二维数组存储状态,右侧为小蛇显示效果,蛇头为1,蛇身依次加1。

要让小蛇移动,首先遍历二维数组所有元素,元素为正 则加1:

对全局变量dir进行判断,比如dir==1 表示方向向右,则在元素2的右方设置为1,并且把最大元素归零:

以上就实现了小蛇向右的移动,向其他方向的移动实现类似。

双人游戏比较简单,在二维数组中实现即可:

Loop函数中除了贪吃蛇的移动,还实现了:减速包的随机出现、加速包的随机出现、血包的随机出现、障碍物的随机出现、苹果的随机出现、小爬虫的移动、无敌,加速,减速的判定。

Game函数是核心判定单元。根据贪吃蛇的移动方向dir的1 2 3 4, 分别对蛇头的右左上下方的元素进行判定:

是-1则吃了苹果,蛇身增长 并加分;

是-2则撞墙了,归零g1 游戏结束;

是-3则吃了葡萄, 蛇身增长 如果(wudi==0)也就是 并非无敌状态 g2减少;

是-4则吃了爱心, g2增加 wudi赋值为wuditime
,使贪吃蛇进入无敌状态 。

吃果子后贪吃蛇的增长,和贪吃蛇的移动差不多,唯一的区别是增长不需要把最大元素归零。

Show函数:

Start函数:

各个参数的初始化、二维数组a的元素初始化、对图片树的输出、分数显示、生命值显示的初始化、生命条的显示、倒计时画面

Interact函数:有两种操作模式 但本质一样都是对方向dir的修改

第一种 键盘 :根据wasd 把dir修改为1(d右)2(a左)3(w上)4(s下)、按p键暂停

第二种 鼠标
:在Loop函数中会计算出蛇头元素的下标it,jt、根据鼠标点击的横坐标m.x 纵坐标m.y修改dir

hello函数
:显示封面及游戏操作 道具使用说明

bye函数
:显示封底及最终分数

fs函数(记分记血系统):对贪吃蛇生命状态的判定和死亡提示

ryj函数
:获取包括鼠标左键在内的任意键

同学实现的代码不是很规范,大家可以先自己尝试实现,再参考网盘上的分步骤代码。

做游戏,学编程(C语言) 9 贪吃蛇相关推荐

  1. java gui怎么做游戏_Java中关于GUI实现贪吃蛇游戏的简单方法

    这篇文章主要介绍了Java GUI编程之贪吃蛇游戏简单实现方法,详细分析了贪吃蛇游戏的具体实现步骤与相关注意事项,并附带demo源码供读者下载参考,需要的朋友可以参考下 本文实例讲述了Java GUI ...

  2. 视频教程-做游戏学Python-Python语言快速入门-Python

    做游戏学Python-Python语言快速入门 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版 ...

  3. 语言写贪吃蛇墙角符号_从零基础到拥抱人工智能,您的孩子可能就差一个贪吃蛇游戏...

    去年寒假档,有一部孩子们喜欢的电影上映. 不知道家长们有没有陪孩子一起看过这部<无敌破坏王2:大闹互联网> 在电影中有一个印象深刻的镜头, 吃豆人.泡泡龙.还有贪吃蛇 他们都因为很久没有客 ...

  4. 教孩子学编程 python语言版_教孩子学编程 PYTHON语言版 PDF_IT教程网

    资源名称:教孩子学编程 PYTHON语言版 PDF 资源目录: 第1章Python基础--认识环境1 1.1认识Python3 1.2用Python编写程序5 1.3运行Python程序5 1.4本章 ...

  5. 安卓c语言自动补全软件吾爱,C语言实现贪吃蛇小游戏

    本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 一.程序实现的原理: 1.构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置.这样就将移动蛇身的操作转换为 ...

  6. 【笔记】用vs2017 c语言写 贪吃蛇 小游戏

    目录 文章目录 前言 一.贪吃蛇游戏 设计逻辑 二.详细介绍 1.设置界面(界面大小,背景颜色) 2.设置贪吃蛇的身体并显示 3.使之能够移动并能够穿墙 4.添加食物并让蛇吃掉 5.设置背景音乐 完整 ...

  7. python教孩子学编程,教孩子学编程(Python语言版)

    教孩子学编程(Python语言版) 第1 章 Python 基础:认识环境 #NiceHexSpiral.py #运行后,挺奇特,整个作画过程,完全呈现. import turtle colors=[ ...

  8. 但凡原神有二十树脂,我也不会来学编程(c语言)

    但凡原神有二十树脂,我也不会来学编程(c语言)<第一天> 编程小白一只,从今天开始,将在本专栏记录本人学习编程的过程与心得~来自甘肃,普通双非,由于地域影响,想要在计算机方面得到好的出路, ...

  9. linux贪吃蛇c程序,Linux环境下C语言实现贪吃蛇游戏

    Linux环境下C语言实现贪吃蛇游戏 [liul@test snake]$ more snake.c #include #include #include #include #include #def ...

  10. 贪吃蛇c语言经典程序下载,C语言实现贪吃蛇游戏(单人版)

    本文实例为大家分享了C语言实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 相比于第一个:贪吃蛇游戏,功能更加丰富 #include"snake.h" //蛇的移动 void m ...

最新文章

  1. 数据结构排序学习总结
  2. 说一说阿里云弹性公网IP那些事
  3. 直播带货时画质总是太差,你的视频转码方案可能要换了
  4. mysql5.7无法启动问题
  5. c语言编译器储存有什么用,C编译器怎么样对内存划分和使用
  6. mysql 部署到服务器_服务器快速部署--使用Docker部署MySQL
  7. Silverlight4启动无法调试
  8. 【Linux】SCP 拷贝命令
  9. 17届智能车竞赛技术报告 | 常熟理工学院-昆承湖二队
  10. redis key设计技巧
  11. php把数据存到cookie,php – 在cookie中存储数组
  12. android使用百度地图SDK 去掉百度Logo的小技巧
  13. License之外,社区的规则与潜规则
  14. python 身份证号码有效性验证
  15. [洛谷]P3374 【模板】树状数组 1 (#树状数组)
  16. 超级时尚炫酷快速图文展示PR2021模板MOGRT|AE模板
  17. 海康、大华等网络摄像头RTSP_Onvif网页无插件直播流媒体服务器EasyNVR鉴权出现跨域问题的解决方法
  18. Prometheus( 普罗⽶修斯) 监控系统----介绍安装、Grafana出图
  19. 惊闻苏州GDP总量突破2万亿大关!
  20. 用c#语言做课程表系统代码,winform用datagridview制作课程表实例

热门文章

  1. Python——类与对象的学习笔记
  2. Java中Integer与String类型互转
  3. SQL_create_table创建表
  4. Windows python tensorflow 安装
  5. 利用阿里云LAMP环境搭建搭建wiki知识库
  6. C++ 动态开辟二维数组的的方法
  7. leetcode 387. 字符串中的第一个唯一字符(First Unique Character in a String)
  8. 看懂友盟指数,洞察移动行业大趋势
  9. LeetCode-Clone Graph-克隆无向图
  10. 求职历程之-----我的求职信