C语言实训三贪吃蛇游戏设计

C语言实训三:贪吃蛇游戏设计

设计教师:廖永红

1.游戏主画面及规则

2.描述蛇及食物的数据结构

蛇身体由多节构成,每节有不同的位置(坐标),蛇的节数由吃到食物多少决定。蛇的信息可以由下面结构体描述:

struct Snake{//描述的信息

int x[200];//每节的X坐标

int y[200];//每节的Y坐标

int count;//蛇的节数

int direct;//蛇移动方向

int isliving; //蛇是否活着,活着――1,死――0

int color;//蛇颜色

} snake;

#define FNUM 3; //定义在画面上同时出现的食物数

struct Food{//描述食物的信息

int x;//X坐标

int y;//Y坐标

int type;//食物的类型

int score;//吃到此类食物的得分

} food; //如在画面上要同时出现多个食物,则用food[FNUM];

3. 画游戏空间的边界(围墙)

#define WALL_TOP 50 //围墙各边界的坐标(单位:象素)

#define WALL_BOTTOM 550

#define WALL_LEFT 50

#define WALL_RIGHT 600

void DrawWall(void) //画围墙

{

setcolor(11);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/

for(i= WALL_LEFT-10;i<= WALL_RIGHT;i+=10)

{ rectangle(i, WALL_TOP-10, i+10, WALL_TOP); //上边

rectangle(i, WALL_BOTTOM,i+10, WALL_BOTTOM +10);//下边

}

for(i= WALL_TOP-10;i<= WALL_BOTTOM;i+=10)

{ rectangle(WALL_LEFT-10, i, WALL_LEFT, i+10); //左边

rectangle(WALL_RIGHT, i, WALL_ RIGHT+10, i+10);;//右边

}

}

4. 画蛇

用一个循环画出蛇的每一节,并通过画蛇的速度来控制游戏速度,也是蛇运动的速度

void DrawSnake( int color)//画由color指定颜色的蛇

{ setcolor(color); //设蛇颜色

circle(

snake.x[0]+5, snake.y[0]+5, 5, 5); //画蛇头,形状不同于蛇身

for(int i=1; i

rectangle(snake.x[i], snake.y[i], snake.x[i]+10, snake.y[i]-10);//画蛇的一节

delay(m_speed);//控制游戏速度

setcolor(SPACECOLOR);//用背景色擦除蛇的的最后一节, 即擦除蛇运动的辙(痕迹)

int n = snake.count-1;

rectangle(snake.x[n],snake.y[n],snake.x[n]+10,snake.y[n]-10);

}

5. 判断蛇是否死亡

蛇在两种情况下死亡:一是头撞到墙上,二是头撞到了自已身体, 蛇长小于四节时,不可能拐这来撞自已身体

int IsSnakeLiving()//返回0,表示蛇死,返回1,表示蛇还活

{ int x= snake.x[0]; int y= snake.y[0]; //蛇头位置

if(xWALL_RIGHT||y< WALL_TOP||y>WALL_BOTTM)

return 0; //蛇是否撞到墙壁

for(i=3; i

{ if(x == snake.x[i] && y==snake.y[i])//撞到时,蛇头的坐标与某节的坐标相同

return 0;//

}

}

6. 蛇运动

蛇按蛇信息体中的direct成员指示,向某方向运动一步(节)。

void SnakeMove()

{

s

c语言实训项目设计设计游戏,C语言实训三贪吃蛇游戏设计.doc相关推荐

  1. 单片机课程设计,基于AT89C51和LCD-12864的贪吃蛇游戏

    前言 课程设计报告以及keil文件和protues仿真在文末. 一.设计内容及要求 设计一个贪吃蛇游戏,使其具有以下游戏规则: ①当没有改变方向时,贪吃蛇沿原来路径一直前进 ②贪吃蛇无法回头,只能异于 ...

  2. php贪吃蛇游戏代码下载,JS实现的贪吃蛇游戏完整实例

    本文实例讲述了JS实现的贪吃蛇游戏.分享给大家供大家参考,具体如下: 思想: 1.设计蛇:属性有宽.高.方向.状态(有多少节),方法:显示,跑 2.设计食物:属性宽.高 3.显示蛇:根据状态向地图里加 ...

  3. python编写贪吃蛇游戏下载,python实现简单的贪吃蛇游戏

    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮.难度.音乐.得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设置. 游戏实现效果 ...

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

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

  5. c语言设计贪吃蛇实验报告,贪吃蛇游戏程序设计实验报告

    <贪吃蛇游戏程序设计实验报告>由会员分享,可在线阅读,更多相关<贪吃蛇游戏程序设计实验报告(11页珍藏版)>请在人人文库网上搜索. 1.Windows编程大作业贪吃蛇设计与实现 ...

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

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

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

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

  8. JavaScript 贪吃蛇游戏的实现

    JavaScript 贪吃蛇游戏的实现 前言 游戏介绍:贪吃蛇游戏是一款经典小游戏,既简单又耐玩.通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分. 游戏玩法:上下左右控制蛇的方向,寻找吃的东西,每吃一 ...

  9. 贪吃蛇大作战代码java,贪吃蛇游戏,贪吃蛇java游戏代码讲解

    贪吃蛇游戏,贪吃蛇java游戏代码讲解 来源:互联网 作者:佚名 时间:2020-06-06 贪吃蛇源代码.txt这世界上除了我谁都没资格陪在你身边. 听着,我允许你喜欢我.除了白头偕老,我们... ...

  10. 贪吃蛇python小白_面向 python 小白的贪吃蛇游戏

    代码和教程详见微信公众号:Python高效编程 效果图 图片 代码和教程详见微信公众号:Python高效编程 文字部分: 引言 作为python 小白,总是觉得自己要做好百分之二百的准备,才能开始写程 ...

最新文章

  1. CentOS 7设置ulimit不生效的问题解决
  2. Spring的控制反转(IOC)和依赖注入(DI)具体解释
  3. 第三章 学习ICE 3.0--Slice语言
  4. c-nominated = ((rcheck-use_candidate) || c-nominated);
  5. Android中保存数据的三种方法
  6. eclipse安装aptana插件对html、js、jq、css等的提示
  7. php 26进制转10进制,PHP 10进制转62进制
  8. 2022年电工杯A题高比例风电电力系统储能运行及配置分析参考代码
  9. hadoop大数据架构
  10. centos 如何测udp端口是否开放_centos测试udp端口是否打开
  11. MySQL数据库面试题(2022最新版)
  12. Excel工作表保护在哪里撤销?
  13. NODE.JS菜鸟网总结
  14. windows操作系统下新建txt文件快捷键
  15. 产品更新|用于语音压缩的新型极低比特率编解码器,Lyra 长什么样?
  16. 单片机入门——流水灯介绍
  17. C++(指针和高级指针)-上篇
  18. 阻止事件冒泡 阻止浏览器的默认行为
  19. mysql派生表(Derived Table)简单解析使用的小例子
  20. C# 将PPT的每一页保存为图片

热门文章

  1. SQL的主键和外键详解!
  2. 简单开发一个java 插件式demo
  3. Python是个什么鬼?为什么这么多人都在学Python?
  4. 罗技 连点 脚本_罗技 G502 无线版体验:告别了线材,而且变得更轻了
  5. 【测试开发】软件测试——测试用例设计测试分类详解
  6. 《C语言程序设计(第五版)》---谭浩强——习题解答第一章
  7. python简单代码-Python中几个非常神奇的代码的简洁,方便,高效!
  8. python简单代码恶搞-一个可以套路别人的python小程序实例代码
  9. ajax上传文件报错500,JQuery的AJAX文件上传错误500
  10. iperf基本使用方式