本源代码是基于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);}}}
上传时间: 2022-08-09
上传用户:13692533910
安规方面 X电容与Y电容的设计与计算方法
上传时间: 2013-05-31
上传用户:gjzeus
X电容是指跨于L-N之间的电容器, Y电容是指跨于L-G/N-G之间的电容器。(L=Line, N=Neutral, G=Ground).
标签: 电容
上传时间: 2014-12-23
上传用户:haohao
X电容和Y电容的使用及注意方法
上传时间: 2013-11-22
上传用户:sevenbestfei
介绍X,Y电容的一片通俗易懂的资料
标签: 电容
上传时间: 2013-10-30
上传用户:teddysha
支持X/Y/Z Modem协议的传输文件的通讯程序
上传时间: 2015-01-03
上传用户:xg262122
计算水仙花数(x^3+y^+z^3=x+y+z)3的程序.
上传时间: 2014-01-27
上传用户:WMC_geophy
* This function positions the cursor at the specified * x,y coordinate. It uses the ANSI standard ESCAPE * * sequence to produce the desired effect. Its not the * * fastest way to position the cursor, but perhaps the * * most portable. *
标签: the coordinate positions specified
上传时间: 2015-02-24
上传用户:chenjjer
欧几里德算法 找出xm+yn=l x,y解
上传时间: 2014-01-07
上传用户:tb_6877751
x-y图解法求二元精馏塔理论塔板数 本文件是一个m文件,要在matlab环境下运行
上传时间: 2015-03-15
上传用户:wl9454