本源代码是基于STM32F4xx硬件平台设计的贪吃蛇小游戏,主要难点在:随机点产生、贪吃蛇转向、贪吃蛇贪吃点;
本部分主要接收产生随机点,产生随机点需要注意两个方面:
1、随机点在有效的范围内;
2、贪吃点与贪吃蛇不重合。
产生随机点主要有两个函数,分别如下:
//随机数产生任务
void rng_chansheng(void *p_arg)
{
OS_ERR err;
while(1)
{
OSSemPend(&RNG_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);
zou.x = RNG_Get_RandomRange(0,50)*8 + 40;
zou.y = RNG_Get_RandomRange(0,50)*8 + 260;
lcd_fangkuan(zou.x,zou.y,zou.x+SHE_FAANGKUAN_SIZE,zou.y+SHE_FAANGKUAN_SIZE);
OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_HMSM_STRICT,&err); //延时500ms
}
}
//往下方向画一个实心的正方形,代表贪食蛇的一段
void lcd_fangkuan(u16 x1,u16 y1,u16 x2 ,u16 y2)
{
u16 i,j;
u16 xx,yy;
if(((x2 - x1) != SHE_FAANGKUAN_SIZE)||((y2 - y1) != SHE_FAANGKUAN_SIZE))
return ;
if(x1 > x2)
{
xx = x1;
x1 = x2;
x2 = xx;
}
if(y1 > y2)
{
yy = y1;
y1 = y2;
y2 = yy;
}
if((y1 < 260)|| (y2 > 660)||(x1 < 40)||(x2 > 448))
{
game_yun_error = 1;
LCD_ShowString(150,300,500,24,24,"GAME OVER!!");
return ;
}
for(i=x1; i<x2; i++)
{
for(j=y1; j<y2; j++)
{
LCD_DrawPoint(i,j);
}
}
}
文件名 | 文件大小 | 修改时间 |
贪吃蛇UCOSSIII/CORE/core_cm4.h | 107KB | 2013-11-07 18:54:16 |
贪吃蛇UCOSSIII/CORE/core_cm4_simd.h | 22KB | 2013-11-07 18:54:16 |
贪吃蛇UCOSSIII/CORE/core_cmFunc.h | 17KB | 2014-07-17 21:52:48 |
贪吃蛇UCOSSIII/CORE/core_cmInstr.h | 20KB | 2014-07-17 21:52:48 |
贪吃蛇UCOSSIII/CORE/startup_stm32f40_41xxx.s | 29KB | 2014-10-25 11:12:44 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/misc.h | 7KB | 2014-08-01 23:18:04 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h | 32KB | 2014-08-01 23:18:04 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h | 27KB | 2014-08-01 23:18:04 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h | 2KB | 2014-08-01 23:18:04 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h | 14KB | 2014-08-01 23:18:04 |
贪吃蛇UCOSSIII/FWLIB/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h | 15KB | 2014-08-01 23:18:04 |
... |
资源简介:基于FPGA和LwIP协议的嵌入式以太网通信平台的设计
上传时间: 2021-01-06
上传用户:wrcc
资源简介:基于L2TP和IPSec集成的车载无线终端传输网络设计
上传时间: 2021-08-19
上传用户:xthkl
资源简介:以C语言实现的贪吃蛇程序,有部分C++语言但并不影响阅读,有些地方有注释,初学者可以稍微研究一下
上传时间: 2021-11-02
上传用户:kaikai_sk
资源简介:·一种基于肤色和边缘信息的人脸检测
上传时间: 2021-01-30
上传用户:paddy146
资源简介:该文档为基于ARM和RFID技术的嵌入式系统研究总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,,,,
上传时间: 2021-04-15
上传用户:liulichao
资源简介:基于ARM和LAMP技术的抄表服务器系统下载,需要的自行下载!
上传时间: 2021-10-01
上传用户:gmliwei
资源简介:基于opencv和51单片机的微信跳一跳全自动物理辅助
上传时间: 2021-11-09
上传用户:guyahui1234
资源简介:基于stm32和can总线的j1939协议在重型卡车上的运用指导。
上传时间: 2022-02-25
上传用户:cyy
资源简介:随着社会的发展,网络视频监控系统已经成为日常生产生活中的重要辅助设备,应用十分广泛。当前视频监控系统正逐步由模拟化走向数字化,随着视频压缩技术和网络技术的发展,开发新一代的基于计算机网络和多媒体MPEG-4压缩算法的视频监控系统已成为整个行业技术...
上传时间: 2021-01-01
上传用户:yuanxin4984
资源简介:基于msp430单片机,IAR开发平台,在LCD12864上实现贪吃蛇的游戏
上传时间: 2022-02-18
上传用户:sjnazhou
资源简介:变电站电压无功综合控制是通过自动调节有载变压器的分接头和投切并联补偿电容器组来实现的,它是确保电压质量和无功平衡、提高供电网可靠性和经济性的重要措施。采用九区图控制策略的电压无功综合控制,实际运行时存在着频繁调节变压器分接头和投切电容器组的...
上传时间: 2021-01-01
上传用户:tulaa
资源简介:在合成孔径雷达的研究和研制工作中,合成孔径雷达模拟技术具有十分重要的作用。本文以440MHz带宽线性调频信号,采样频率500MHz高分辨合成孔径雷达视频模拟器为研究对象。首先对模拟器的几项主要技术进行分析,在对点目标回波信号模型分析研究的基础上,对点目...
上传时间: 2021-01-22
上传用户:zfnuaa1
资源简介:基于MiniGUI和嵌入式Linux的PDA设计与实现下载,需要的自行下载!
上传时间: 2021-12-08
上传用户:yw920520
资源简介:汽车仪表是驾驶员获取汽车状态信息的关键设备,对汽车的安全行驶起着重要的作用。近年来,随着计算机、微电子和各种现场总线通信技术的广泛应用,汽车电子技术得到了迅猛的发展,汽车仪表盘上显示的信息不断增加,传统的机械式、电气式组合仪表越来越无法满足...
上传时间: 2021-01-01
上传用户:pengdan0521
资源简介:基于信号处理优化设计的雷达性能改进
上传时间: 2021-03-27
上传用户:dojarwi
资源简介:基于LabVIEW和ARM处理器的大型称重式蒸渗仪测控系统,很不错,需要的去下载
上传时间: 2022-09-11
上传用户:DCPLC
资源简介:基于ATCA和MicroTCA的独立信令网关设计
上传时间: 2022-09-22
上传用户:1273816488@qq.c
资源简介:目前国产志愿船自动测报仪在实际运行过程中,普遍存在着系统功耗过大、性能较差、稳定性不好等问题,与国际同类产品相比有较大差距。如何解决这些问题并缩小这种差距是我国志愿船自动测报仪研发工作的主要方向。 本文以我国“志愿船自动测报仪政府采购计划”...
上传时间: 2021-01-01
上传用户:qq3199757600
资源简介:随着计算机网络技术的发展,资源共享的程度进一步加强,随之而来的信息系统安全问题也日益突出,在系统中实现基于WEB和RBAC的授权管理子系统是解决该问题的有效途径。本文从设计实现的角度分析了信息系统中基
上传时间: 2021-01-03
上传用户:june1437
资源简介:本文研究数字音频无线传输中的前向纠错(FEC)算法和电路的设计及实现.在本文中介绍了一种基于Altera公司的FPGA Cyclone芯片的实现方案.文章首先介绍了本前向纠错系统采用的方案,然后从总体规划的角度介绍了整个系统的内部结构、模块划分及所采用的设计方法和编...
上传时间: 2021-01-24
上传用户:sxyf2012
资源简介:操作系统上基于M总线控制系统的设计与实现摘要:研究基于VxWorks嵌入式实时系统下M 总线控制系统的软件设计思想和实现方法.该系统需要设置两个各自独立运行的实时任务. 达到对外部设备进行控制的功能.第1个任务负责收集命令和通过传感器采集到的数据,并设...
上传时间: 2021-02-24
上传用户:pegasus_sqq
资源简介:·基于场路耦合法的永磁同步电机数字控制系统设计和分析
上传时间: 2021-03-16
上传用户:范春朋
资源简介:该文档为基于-ARM-和Linux-的故障录波装置设计详解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,,,,
上传时间: 2021-04-11
上传用户:goodlucky
资源简介:基于ARM9和Linux的风暴潮监控系统设计下载,需要的自行下载!
上传时间: 2021-08-25
上传用户:lf243686002
资源简介:为改善当前农业物联网中IPv6和单一无线传感网络智能网关的不足,提出1种基于IPv6和异构型无线网络农业物联网智能网关的设计方法.该方法首先结合3种无线传感网络对智能网关进行整体设计,接着利用TUN服务实现了智能网关的无线模块设计,并且实现异构无线网络通信...
上传时间: 2022-03-06
上传用户:sweetlove
资源简介:资料->【C】嵌入系统->【C3】自动化控制->【2】电机机床->【电机】->步进电机->基于GAL16V8和ULN2003的步进电机驱动器的设计.pdf
上传时间: 2022-04-11
上传用户:yiting
资源简介:ARM Cortex - M0 架构芯片stm32F030 为核心,结合电力载波通讯技术、数据采集技术和RFID 技术,设计了一种基于电力载波通信的电气实验设备电源管理系统。对每台电气实验设备嵌入一个电源管理单元模块,该模块实时采集其所在的设备电源参数,并接收、响应主...
上传时间: 2022-09-08
上传用户:weiwolkt
资源简介:该文档为基于FPGA和AD768的高精度信号卡设计讲解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,
上传时间: 2022-09-14
上传用户:coollife910
资源简介:基于LabVIEW-和Access-的温度监测系统设计这是一份非常不错的资料,欢迎下载,希望对您有帮助!
上传时间: 2022-09-19
上传用户:wenwenwen
资源简介:随着自助服务行业的发展,如何快速、有效而又低成本的对大量分散的货币识别系统进行监控和管理,以及如何提高新型货币识别系统开发质量和开发效率成为亟待解决的问题。 本文首先分析了现有货币识别系统的发展现状以及存在的一些不足,根据现代金融货币识别设...
上传时间: 2021-01-01
上传用户:babyzhang