贪吃蛇设计思想要求:1.学完C语言大部分基础知识

2.能坚持看完本文

3.本文发布的只是思想,详细代码请关注本博客下一篇文章(要等博主自己写完哦)

目的:1.学了一年C语言,也是博主对自己的一次考验吧

2.激发广大网友对编程的兴趣(能帮到大家是我的荣幸)

3.增加网站收录量,提升网站排名

程序功能介绍

贪吃蛇游戏是一个经典小游戏,深受众多玩家喜爱,其规则是:一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。此游戏不仅能锻炼人的思维敏捷性,而且还可以提高玩家的逻辑判断能力。

程序整体设计说明

任何一种游戏都必须具备开始部分,运行部分,结束部分。但其核心是运行部分,它是整个游戏程序的中间力量,故其对程序设计的严密性要求极其严格。

设计思路

贪吃蛇游戏设计的虽然总体分为开始、运行、结束三个过程,但其内部程序非常之复杂具体包括开始时的状态,游戏进行中如果得分其分数的累加程序的设计,当玩家游戏结束时所出现的音频及图片效果等设计的程序主要包括主函数,printf()函数,scanf()函数等各种输入输出函数。同时还运用了各种数据类型和运算符以及各种选择结构循环结构的重复使用。特别是运用了数组结构(1.2.3维)和函数之间的调用是程序更为完整清楚简便,易于读懂。这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来就像多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是由画矩形块和覆盖矩形块所覆盖。这样一个贪吃蛇游戏程序在所学的C语言知识下便设计成功。

数据结构设计及用法说明

开始部分:

由于贪吃蛇游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,由此我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面,这样玩游戏时比较有真实感,图像感。标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景以及游戏运行时的音频效果,同时还要对游戏某些重要变量的初始化。

运行部分:

第一轮循环:第一步,出现食物;

第二步,蛇不停运动;

第三步,检查蛇是咬到自己或撞到墙壁;由第四步起游戏有两条支线(A、B):

A :第四步,当蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;

第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;如果蛇没有在规定的时间内吃到食物,食物将自动消失。

第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;

B:第四步,蛇碰到自己或墙壁,终止游戏。 结束部分:

游戏结束时,显示“GAME OVER”背景图象,并配有比较忧伤的音乐,已经是约定俗成的规律了,我所设计的贪吃蛇游戏也不例外。除了游戏结束画面外,我还设置了一个游戏退出画面,并提示玩家是否退出游戏或者是继续此前游戏。

有了上述的大致划分,我把整个程序划分成(13+2)个基本模块(其实就是函数的基本应用以及根据函数的用途所划分的小模块)

总流程图

分流程图 (模块)

更新至2016-10-12

后续内容请见下篇文章

c语言贪吃蛇添加排行榜,用C语言写贪吃蛇笔记-1相关推荐

  1. c语言贪吃蛇添加排行榜,c语言贪吃蛇排行榜_...12年4月编程语言排行榜 C语言荣归宝座...

    12年4月编程语言排行榜 C语言荣归宝座 JPG,902x531,131KB,424_250 C语言在目前的编程语言排行榜上占据头名的位置-全屏显示课程章节 JPG,500x267,232KB,467 ...

  2. android添加语言,android如何添加一种新语言

    前些时候,因为客户要求加波斯语,但是目前android2.3.1并没有这种语言,在客户要求一定要有波斯语的情况,经过长时间的摸索与在网上求助,终于将波斯语给加出来了. 下面讲讲新增加一种语言的步骤: ...

  3. c语言写贪吃蛇什么水平_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码...

    #史上最详细的C语言贪吃蛇教程 #前言 在有用C写贪吃蛇的一个想法之后,上网查了几个教程,觉得不是很能看懂.恩...或者说不是一下子就能看出来思路+具体怎么实现.所以,我花了早自习的时间想了想如何用最 ...

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

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

  5. C语言贪吃蛇课程设计实验报告(包含贪吃蛇项目源码)

    文末有贪吃蛇代码全览,代码有十分细致的注释!!! 文末有贪吃蛇代码全览,代码有十分细致的注释!!! 文末有贪吃蛇代码全览,代码有十分细致的注释!!! 码文不易,给个免费的小星星和免费的赞吧,关注也行呀 ...

  6. c语言写贪吃蛇什么水平_学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释...

    已结贴√ 问题点数:20 回复次数:3 学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释 #include//基本库 #include//系统库 #i ...

  7. c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇

    用C语言链表写的贪吃蛇(程序设计时做的,做的不好大佬勿喷) 借助游戏内容分析贪吃蛇所需的功能主要包括这几块: 移动光标模块 打印地图模块和基本规则信息 读取最高分文件 打印初始蛇模块 打印时给予蛇的初 ...

  8. c语言链表贪吃蛇脚本之家,C++控制台实现贪吃蛇游戏

    本文实例为大家分享了C++实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 刚学完了C语言,便尝试的写了贪吃蛇的代码,但是效果不佳,很多的bug,所以,这个学了C++,便重新的写了这个小游戏,用类来 ...

  9. c语言制作贪吃小白入门,小白入门——easyx界面版“贪吃蛇”的C语言实现(详细)...

    小白入门--easyx界面版"贪吃蛇"的C语言实现(详细) 作者:顽石 前言:C语言初学者都是在控制台上开发一些小游戏什么,由于没有界面(比如图片.音乐,不能做出拥有自己风格的程序 ...

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

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

最新文章

  1. 分享:给入职新人的IDEA培训教程。
  2. Dialplan 编程基础
  3. 创建第二个 local network - 每天5分钟玩转 OpenStack(84)
  4. 【荐】说说CSS Hack 和向后兼容
  5. 利用ASP控制WEB打印代码方法集合
  6. java判断字符串中是否包含字母
  7. 45.Android 第三方开源库收集整理(转)
  8. 金融统计分析与挖掘实战5.1-5.2
  9. 影像科dsa为什么必须买维修保险_DSA在医疗方面为什么重要?看这3点
  10. FPGA的软件下载(百度盘~)
  11. 怎样用计算机粉碎文件夹,电脑粉碎文件用什么软件好,怎么彻底粉碎电脑文件...
  12. [label][WorldPress] 一个很方便查找定位WorldPress源代码位置的网址
  13. 计算机软件与硬件系统基础知识,计算机软硬件系统基础知识.pdf
  14. 弄懂 JavaScript 执行机制,宏任务和微任务
  15. MySQL 整体架构与 SQL 执行原理,数据库事务原理
  16. 短视频剪辑技巧,4法则创作热门视频
  17. 学计算机买什么电脑性价比高,学生用什么笔记本电脑好 性价比高的学生笔记本电脑...
  18. 5分钟理解CFG上下文无关文法的解析算法
  19. jQuery动画-----折叠动画(slideDown、slideUp、slideToggle)
  20. python下载bt文件_bittorrent 种子文件结构解析

热门文章

  1. IC卡读写器c++builder源代码续
  2. 如何利用labelImg软件标图
  3. telnet测试端口
  4. UTM投影坐标计算距离
  5. matlab矩阵的函数,MATLAB矩阵运算函数
  6. 浙大计算机考研分数线2016,2016浙江大学考研复试分数线
  7. MATLAB与SPSS接口
  8. dmg为什么下载成php,解答:dmg是什么意思,dmg文件如何打开,及怎么把dmg转换成iso
  9. 如何短期通过PMP考试?
  10. springboot test