基于STM32F4xx和UCOSIII設計的貪吃蛇小游戲 - 免費下載

技術資料資源 文件大小:827 K

?? 資源詳細信息

文件格式
RAR
所屬分類
上傳用戶
上傳時間
文件大小
827 K
所需積分
2 積分
推薦指數
??? (3/5)

?? 溫馨提示:本資源由用戶 13692533910 上傳分享,僅供學習交流使用。如有侵權,請聯系我們刪除。

資源簡介

本源代碼是基于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);

}

}

}

立即下載此資源

提示:下載后請用壓縮軟件解壓,推薦使用 WinRAR 或 7-Zip

資源說明

?? 下載說明

  • 下載需消耗 2積分
  • 24小時內重復下載不扣分
  • 支持斷點續傳
  • 資源永久有效

?? 使用說明

  • 下載后用解壓軟件解壓
  • 推薦 WinRAR 或 7-Zip
  • 如有密碼請查看說明
  • 解壓后即可使用

?? 積分獲取

  • 上傳資源獲得積分
  • 每日簽到免費領取
  • 邀請好友注冊獎勵
  • 查看詳情 →

相關標簽

點擊標簽查看更多相關資源:

相關資源推薦