您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF51X技术支持专区 -> BF518/BF512 键控贪食蛇游戏应用
本帖共有497个阅读者
发表帖子 发表投票 回复主题
BF518/BF512 键控贪食蛇游戏应用
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF518/BF512 键控贪食蛇游戏应用

代码实现功能

代码实现了游戏贪吃蛇的功能,运行代码后,按任意方向键贪吃蛇开始移动,可以通过方向键控制蛇的运动方向,吃取屏幕中的果子。当吃满一定数量果子后,会显示过关提示及得分情况。按板卡右键盘任意键,会进入下一关的游戏,这时游戏速度会有所增加。

硬件平台

开发板:ADSP-EDU-BF518F   淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.33.5317f8&id=14449990649

仿真器:AD-HP510ICE-FULL   淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.17.4561b&id=8842330668

按键设置



游戏功能

板卡按键

left->up

left->left

left->down

left->right

开始

right->left

right->down

right->right

right->up


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/18 12:27:18
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

代码使用说明

Snake.Long定义了贪吃蛇初始的长度,代码中定义为2

Snake.Long=2;      

贪吃蛇需要吃取食物的个数由宏SNAKE_Max_Long定义,代码中定义的为8,即吃取6个果子即达到最大长度。

#define SNAKE_Max_Long 8

       果子的坐标由随机数函数rand()获取,在获取坐标时,做了有效区域限制,防止果子出现在屏幕外面。

do{

                            Food.X = rand();

                            }while((Food.X > 46) || (Food.X < 1));

                     do{

                            Food.Y = rand();

                            }while((Food.Y > 25) || (Food.Y < 1));

       贪吃蛇运行的速度由延时函数控制,每次过关,会动态减少延时时间,可根据需求,自己定义延时时间。

                     delay(6000-Snake.Level*500);

代码实验步骤

1.       将板卡上电,仿真器连接好。

2.       BF51x_SNAKE_KEY.dpj工程加入VDSP软件,编译运行代码

3.       看到屏幕显示贪吃蛇画面后,按方向键。

代码实验结果

可通过按键控制贪吃蛇的运行方向吃取果子。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/18 12:28:14
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154312 Call, 1 Queries, Processed in 0.015625 second(s),