基于单片机的贪吃蛇 贪吃蛇

tanchishe 51单片机2.4寸TFT彩屏贪吃蛇程序,通过按键来控制游戏,代码比较简单。 SCM 开发 238万源代码下载-
&文件名称: tanchishe
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 186 KB
&&上传时间:
&&下载次数: 4
&&提 供 者:
&详细说明:51单片机2.4寸TFT彩屏贪吃蛇程序,通过按键来控制游戏,代码比较简单。-51 SCM 2.4-inch TFT color screen Snake program, the key to control the game, the code is relatively simple.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&2.4 贪吃蛇实验\8x16.h&&..............\8x8h.h&&..............\9325TP.C&&..............\9325TP.h&&..............\9325TP.OBJ&&..............\GB1616.h&&..............\ILI9163.Opt&&..............\ILI9163.Uv2&&..............\KEY.c&&..............\KEY.OBJ&&..............\KEY_SWEEP.H&&..............\LCD.H&&..............\main.c&&..............\main.OBJ&&..............\obj\9325TP.lst&&..............\...\9325TP.obj&&..............\...\ILI9163&&..............\...\ILI9163.hex&&..............\...\ILI9163.lst&&..............\...\ILI9163.m51&&..............\...\ILI9163.obj&&..............\...\ILI9163.plg&&..............\...\KEY.lst&&..............\...\KEY.obj&&..............\...\main.lst&&..............\...\main.obj&&..............\...\SNAKE.lst&&..............\...\SNAKE.obj&&..............\...\贪吃蛇.m51&&..............\pic.h&&..............\SNAKE.c&&..............\SNAKE.h&&..............\SNAKE.OBJ&&..............\贪吃蛇&&..............\贪吃蛇.hex&&..............\贪吃蛇.Opt&&..............\贪吃蛇.plg&&..............\贪吃蛇.Uv2&&..............\obj&&2.4 贪吃蛇实验
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - GSM单片机短信控制程序,含彩屏显示和按键操作程序,测试通过。
&[] - 一个51单片机+SPI TFT彩屏+按键的贪吃蛇游戏机
&[] - 单片机控制的贪吃蛇游戏代码及protues仿真实例贪吃蛇,单片机,8x8矩阵_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
贪吃蛇,单片机,8x8矩阵
在​L​E​Dx上​制​作​的​贪​吃​蛇​游​戏​,​可​以​用​红​外​遥​控
大小:4.21KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢一步一步教你写贪吃蛇-电子产品世界论坛
一步一步教你写贪吃蛇
第一章 为什么闲着没事写贪吃蛇
很多人不明白,为什么我闲着没事要写个贪吃蛇游戏呢?小时候的游戏机这个游戏早就玩
够了。其实我们写贪吃蛇,不是用来玩的,而是通过编写一个有些学习一下编程的思想。
一个完整的贪吃蛇游戏要包括显示控制、输入控制、运动控制、状态判断、随机数的产生
、难度控制等等多个方面,通过对一个游戏完整的研究,会对自己的编程能力有一个很大
那么游戏很多,为什么我们要选择贪吃蛇来编写,而不选择俄罗斯方块、赛车、拳皇、超
级玛丽来写呢?
第一、 贪吃的显示简单,你可以用LCD来显示、当让你可以用LED点阵来显示,甚至如果你
有耐心的话可以焊几排发光二极管来显示。这样很多人都可以参与到,另外我们还可以利
用这个特点探讨一下标准化编程,这个在以后我们再讨论。但是俄罗斯方块你恐怕最低也
要整个3310来显示吧。拳皇呢?呵呵
第二、 贪吃蛇编写难度适中,如果你来编写俄罗斯方块,首先要取很多方块的模,它的规
则也多,考虑的也多,这个就比贪吃蛇难了一层,第一次编写游戏,应该尽量选择难度相
对较低的。
第三、 贪吃蛇有群众基础,我想这个就比较好理解了,我再和别人讨论贪吃蛇的时候,一
般是不必向他介绍贪吃蛇是一种什么游戏,因为贪吃蛇几乎所有人都玩过,但是其它游戏
就不见得有这么广泛的群众基础了
那么写贪吃蛇程序你要准备些什么呢?
处理部分:单片机最小系统。
显示部分:LCD\5110\LED点阵\发光二极管阵列 任意都可以
输入部分:就是按键,起码要5个吧,上、下、左、右、确定
编写部分:能看得懂c语言的人脑袋一个
有了这些,就可以开始编写我们的贪吃蛇了。
第二章 开始我们的准备工作
准备好了我们的几个硬件以后,我们就开始检查我们的硬件工作是否工作了。
首先,处理部分你做出一个单片机最小系统,随便下载一个程序进去,如果好使就说明你
的最小系统工作啦。
第二、显示部分你要写出两个函数,让你的你的显示部分在任意位置显示一个点和熄灭一
Disp(unsigned char x,unsigned char y)
Mei(unsigned char x,unsigned char y)
这个是怎么怎么实现就要靠大家自己来做了(废话,我都不知道你用什么东西显示)
第三、输入装置你要再写出一个函数,要让你的输入装置工作
Keydown()
我们调用这个函数以后,key这个变量会等于按下的按键的编号,如果没有俺家按下,那么
抱歉,这个也需要大家自己搞定(我也不知道你怎么接的电路图)
至于脑袋就不用测了。
第三章 让你的蛇跑起来
下面节目正式开始:
我们这一章的任务是让蛇跑起来,我们把任务分成两个部分
第一、 让蛇显示出来
第二、 让蛇跑起来
首先我们让蛇显示出来,其实所谓的&蛇&,在我们的眼中就是一条连起来的点阵组成的线
比如(0,0),(1,0),(2,0)这三个点就是一个横着的蛇。有了我们刚才的函数,
我们只要写一个函数比如
Void Main(void)
Disp(0,0);
Disp(1,0);
Disp(2,0);
我们就可以在屏幕上看到一个由三个点组成的&蛇&了。
那么下面的我们的工作就是让这条蛇&跑&起来。
首先,我们要考虑一下这个蛇的&跑&包含了几个动作,其实这个&跑&包含了三个动作
1、 蛇尾熄灭。无论你蛇向哪里动,蛇尾的那个点都是熄灭,所以为了让蛇动起来,我们
首先就是写出
mei(0,0);这个函数
2、 各个蛇身运动到它前一个蛇身的位置:比如说我们的蛇开始的坐标是(0,0)(1,0
)(2,0)运动过后便成了
&&&&& (1,0)(2,0)(3,0)。
你观察就会发现蛇身的这一规律
所以我们再写出这个函数
3、 蛇头向你要求的方向运动。比如说蛇头开始的坐标是(2,0)你要求蛇向右运动,那
么蛇头的坐标就会便成(3,0),向下运动就会编程(2,1)
就是这三个运动合成,就便成了蛇身体的整体的移动。
好啦闲话少絮,让我们开始动手写几个函数吧,今天我们的工作的目标就是看到蛇在屏幕
为了方便,我们应该用两个数组来存蛇的位置。
比如我们定义两个数组分别叫做
假设两个数组分别Xshu[]={0,1,2}
Yshu[]={0,0,0}
那么蛇的位置就是(0,0)(1,0)(2,0)了
因为以后我们的蛇以后是会变长的,所以我们把数组变得稍大一点。
这样写会好一点:
#define uchar unsigned char
#define uint& unsigned int
#define SNAKE 20&&&&&&&&&&&&&&&& //最大长度
uchar xshu[SNAKE],yshu[SNAKE];
这样我们可以根据自己屏幕的情况自己定义蛇的最大长度。
然后我们再定义一个变量changdu来表示现在的蛇的长度,(英语水平不足,也为了直观,
以后变量用汉语拼音表示,莫见笑呀)
我们写第一个函数先让蛇显示出来
#include &reg51.h&&&&&&& //51芯片管脚定义头文件
#define uchar unsigned char& //这个纯属是为了方便哈,没啥意义
#define uint& unsigned int //参见上一句的注释
#define SNAKE 20&&&&&&&&&&&&&&&& //最大长度
uchar xshu[SNAKE],yshu[SNAKE];&&&& //定义两个数组来表示蛇的位置
uchar changdu;&& //用这个玩意表示现在蛇的长度
void& delay(uint dt) //这个是延时函数,谁都需要它
&& for(;dt--)
&& for(bt=0;bt&255;bt++);
void init(uchar chang)//用这个函数做些初始化的设定之类的东西,chang是你开始设
定蛇的长度是多少。
Changdu=chang;
for(i=0;i&i++)
xshu[i]=i;
yshu[i]=0;
}//这个是初始化的x依次增加,y始终是零,这样出来一个横着的蛇。
for(i=0;i&i++)
play(xshu[i],yshu[i]);
}这个让蛇显示出来的函数
delay(100); 延时一会不要也行
Void main(void)
Init(3);//3可以换成你要求的任意长度,看你的屏幕了
While(1)
这样,我们就看到屏幕上你要求长度的小蛇了。下面我们的工作就是让这条蛇运动起来啦
。很简单,按照上文的结论,三步走。
mie(xshu[0],yshu[0]);& //先把蛇尾给熄灭掉
for(k=0;k&changdu-1;k++)
xshu[k]=xshu[k+1];
yshu[k]=yshu[k+1];
}& //蛇身都是它前一段的蛇身的位置
xshu[changdu-1]=xshu[changdu-2]+1;
yshu[changdu-1]=yshu[changdu-2]+0;//蛇头向你要求的方向移动,我的现在的这个是向
右移动动。同理向左移动x加-1,y加0。向上移动x加0,y加-1.向下移动x加0,y加1.
for(j=0;j&j++)
play(xshu[j],yshu[j]);
} //这个就是让新的蛇的位置显示出来。
这样我们只要把这段函数加入,蛇就可以向右移动了。
可是我们是需要按键控制蛇上下左右移动的,下面我们就来加入按键。
首先,我们定义两个变量,分别来表示x,y分别增加多少,用来表示蛇头的移动的方向,
就叫做xfangxiang,yfangxiang吧。由于可能是负数,我就给定义成char型的。
然后我们刚才的函数
xshu[changdu-1]=xshu[changdu-2]+1;
yshu[changdu-1]=yshu[changdu-2]+0;
xshu[changdu-1]=xshu[changdu-2]+
yshu[changdu-1]=yshu[changdu-2]+
我们只要通过按键改变这两个变量的数,就可以控制蛇的方向了。当按键按下时我们把xf
angxiang,yfangxiang改成需要的数字,然后让蛇正常行走就可以了。
关键词:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
支持,我最早学电脑的时候就是用Pascal语言写的贪吃蛇。很有意思
遇到志同道合的了~~~
谢谢版主置顶,这篇文章是我自己写的,一定有不少错误,还希望大家能够指正,文章已经更新到了第三章。我们的目标是写出一个具有通用性的贪吃蛇程序,大家一起努力!
又看了一遍,有变化啊~~~
紧紧跟随!
这段时间事情比较多,过段有空用咱们的板子做个玩玩,lz做好了一定放上来让我们开开眼啊
嗯 下次有时间一定玩玩~~~~
呵呵& 有时间应该做做试试
匿名不能发帖!请先 [
Copyright (C) 《电子产品世界》杂志社 版权所有贪吃蛇游戏单片机程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
贪吃蛇游戏单片机程序
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 贪吃蛇钻井技术 的文章

 

随机推荐