资源简介
用STM32开发板开发的贪吃蛇游戏,用链表实现

代码片段和文件信息
/***************************************************************
Snake
****************************************************************/
#include “snake.h“
/* Private variables ---------------------------------------------------------*/
SnakeNode *pSnakeHead;
SnakeNode *stRandNode;
volatile Direction CurrentDir=UP;
volatile Direction NewDir;
extern volatile FlagStatus bIntrFlag;
extern volatile uint16_t count;
static uint8_t score=0;
volatile FlagStatus bReadPos1Flag = RESET;
volatile FlagStatus bReadPos0Flag = RESET;
volatile FlagStatus bEnReadFlag = RESET;
extern volatile FlagStatus bEnDirFlag;
extern volatile FlagStatus bRunFlag;
extern volatile uint32_t OS_TimeMS;
uint16_t Xpos[2]Ypos[2];
/* Private function prototypes -----------------------------------------------*/
/*******************************************************************************
* Function Name : SnakeListInit
* Description : Initialize the SnakeList with 2 SnakeNode
* Input : SnakeList
* Output : None
* Return : None
*******************************************************************************/
void SnakeListInit(void)
{
SnakeNode *stSnakeNode1=(SnakeList)malloc(sizeof(SnakeNode));
SnakeNode *stSnakeNode2=(SnakeList)malloc(sizeof(SnakeNode));
stRandNode = (SnakeList)malloc(sizeof(SnakeNode));
pSnakeHead = (SnakeList)malloc(sizeof(SnakeNode));
stSnakeNode1->x = 20;
stSnakeNode1->y = 30;
stSnakeNode1->color = GUI_BLACK;
stSnakeNode1->next =stSnakeNode2;
stSnakeNode2->x = 20;
stSnakeNode2->y = 29;
stSnakeNode2->color = GUI_RED;
stSnakeNode2->next = NULL;
pSnakeHead->next= stSnakeNode1;
stRandNode->x = 20;
stRandNode->y = 20;
stRandNode->color = GUI_BLUE;
//DrawNode(stRandNode);
}
/*******************************************************************************
* Function Name : DrawPoint
* Description : Draw a Point
* Input : SnakeNode nodeBitOperation Action
* Output : None
* Return : None
*******************************************************************************/
void DrawNode(SnakeNode *nodeBitOperation Action)
{
uint8_t ij;
if(node->x > RECT_XSIZE || node->y > RECT_YSIZE)return ;
if(Action==DRAW)
{
GUI_SetColor(node->color);
for(i=0;i for(j=0;j GUI_DrawPoint(node->x*LINEWIDTH+inode->y*LINEWIDTH+j+16);
}
else
{
GUI_SetColor(GUI_GRAY);
for(i=0;i for(j=0;j GUI_DrawPoint(node->x*LINEWIDTH+inode->y*LINEWIDTH+j+16);
}
}
/*******************************************************************************
* Function Name : DrawSnake
* Description : Draw the Snake
* Input : SnakeAction
* Output : None
* Return : None
*******************************************************************************/
void DrawSnake(SnakeNode *SnakeBitOperation Act
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9750 2012-10-30 21:22 贪吃蛇\snake.c
文件 1289 2012-10-30 15:20 贪吃蛇\snake.h
目录 0 2012-10-31 12:35 贪吃蛇
----------- --------- ---------- ----- ----
11039 3
- 上一篇:checker 国际跳棋游戏
- 下一篇:算符优先文法 构造优先表
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- 贪吃蛇源代码.fla
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- 贪吃蛇游戏设计(汇编语言)
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论