手机版

stm32 拼图游戏(6)

发布时间:2021-06-08   来源:未知    
字号:

凸起的阴影效果,以配合界面,由于像素取整的原因,游戏高级难度设置的是6x6模式,而非5×5。

在游戏运行算法中,在开机时运行了预处理的算法,这其中包括了硬件初始化,硬件检测以及游戏资源载入三个步骤。硬件的检测这里只包含了RTC部分检测、FLASH检测、字库检测以及查找系统文件(游戏文件的根目录)。为了使得开机部分界面效果更加美观,在预处理过程中屏幕贴一张带有进度条的开机画面,当检测部分每检测完毕一个项目的时候,都将会return一个值,这是进度条就相应的移动一格,直至结束。

对于拼图游戏的核心算法,进入游戏之后,系统将界面分为若干个区域并依次编号,保存在一个数组里面,当点击触屏之后,会返回点击处所在位置的编号,而后进行判定,若需移动,则将空白区域与拼图区域相互交换,同时step数值加一。当拼图块编号与区域编号相等的时候,游戏即判定获胜,读取相应的time与step值,并判断是否创纪录。当点击暂停键之后,界面显示time固定,同时按键除开始键外均失效,再点击开始键时,读取系统时间,并减去暂停后的时间得到显示时间。点击全图按钮的时候,屏幕将贴出全屏的原图,此时点击任意一点均将返回游戏。

四、主要函数成员

Get_Ps_Addr( ) PT_Win_Chk( ) Move_Pic( ) Need_Move( ) PTGame_Key_To_Num( ) Win_Msg( ) Game_pause( ) Load_Fun_Start( ) PTGame_Play( ) Is_In_area( )

获取游戏图片起始坐

标点

检查拼图游戏是否获胜的算法

拼图移动的算法

判断拼图是否需要移动的算法

拼图游戏获取按键返回值

拼图游戏是否获胜及创纪录判断

暂停、开始设置

按键触点选项函数

拼图游戏主函数

判断触点是否在区域内

五、程序整体间调用关系

六、程序的实现

1.游戏的启动:

包括了硬件初始化,硬件检测以及游戏资源载入三个步骤。其中硬件检测最为重要,包含了RTC部分检测、FLASH检测、字库检测以及查找系统文件(游戏文件的根目录)。当自检正常的时候,依此返回对应的值。

while(RTC_Init()) //检测RTC部分是否正常 { POINT_COLOR=RED; LCD_ShowString(20,20,"RTC ERROR "); delay_ms(500); LCD_ShowString(20,20,"RTC Trying..."); delay_ms(500); } while(AT24CXX_Check()) { POINT_COLOR=RED; LCD_ShowString(20,40,"AT24C02 ERROR"); delay_ms(500); LCD_ShowString(20,40,"Rechecking..."); delay_ms(500); } while(SPI_Flash_ReadID()!=0XEF14)//FLASH检测 { POINT_COLOR=RED; LCD_ShowString(20,60,"W25X16 ERROR "); delay_ms(500); LCD_ShowString(20,60,"Rechecking..."); delay_ms(500); } if(Font_Init())goto UPDF;//字库不存在,则更新字库 SD_Init(); while(FAT_Init())//FAT 错误 { if(FAT_Init()==1) { POINT_COLOR=RED; LCD_ShowString(20,100,"Fat Check ERR ,return 1"); delay_ms(2000); }

stm32 拼图游戏(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)