资源简介
用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 国际跳棋游戏
- 下一篇:算符优先文法 构造优先表
相关资源
- stm32 MX25L 驱动
- STM32驱动VGA显示C代码
- STM32 CAN总线双机通讯程序(中断接收
- STM32F4测频率、占空比工程
- stm32F407ADC电压采集串口输出程序
- DJI M100 STM32
- STM32F103多ADC多通道采样
- STM32 OLED 菜单显示汉字
- STM32的硬件SPI驱动的ILI9341代码
- STM32F103VET6原理图和pcb.rar
- STM32F4 I2C/IIC 驱动程序
- STM32F4位带操作头文件 直接可用
- STM32F103封装库
- stm32 MDK5.14安装手册
- stm32颜色识别追踪算法 腐蚀算法
- SlickEdit 用MDK工具编译STM32的例程
- uIP STM32 TCP Echo
- STM32 TFT液晶驱动与JPEG解码图象显示
- stm32 4*4矩阵键盘
- 基于51单片机LCDLM041L显示贪吃蛇小游戏
- STM32 步进电机程序 包括加减速 位置模
-
Flash Actionsc
ript 3.0 贪吃蛇制作 - STM32F107实现DP83848-UDP-TCP通信程序
- 基于STM32的无位置传感器无刷直流电机
- STM32系列串口烧写工具
- stm32驱动舵机
- WS2812驱动程序SPI+DMA
- STM32固件库文件树及作用详述
- STM32输入捕获PWM,航模遥控器调试。
- stm32_ldwm1000_uwb _twr_all.zip
评论
共有 条评论