if(type==PT_BASIC)//保存基本信息 {
AT24CXX_WriteOneByte(PTGAME_24C0X_BASE_ADDR,PT_Size);//保存图片大小 AT24CXX_WriteOneByte(PTGAME_24C0X_BASE_ADDR+1,PT_New); //保存是否已经在玩
//保存当前所用步骤
AT24CXX_WriteLenByte(PTGAME_24C0X_BASE_ADDR+2,PT_Step,2); // //保存当前所用时间
AT24CXX_WriteLenByte(PTGAME_24C0X_BASE_ADDR+4,PT_Time,2); }else if(type==PT_TABLE)//保存图标信息 {
for(i=0;i<36;i++)AT24CXX_WriteOneByte(PTGAME_24C0X_BASE_ADDR+6+i,Cur_Table[i]);//保存当前图表信息 } }
void Read_Info(u8 type) { u8 i;
if(type==PT_BASIC)//读取基本信息
{
PT_Size=AT24CXX_ReadOneByte(PTGAME_24C0X_BASE_ADDR);//读取图片大小 PT_New=AT24CXX_ReadOneByte(PTGAME_24C0X_BASE_ADDR+1); //读取是否已经在玩
//读取当前所用步骤
PT_Step=AT24CXX_ReadLenByte(PTGAME_24C0X_BASE_ADDR+2,2); //读取当前所用时间
PT_Time=AT24CXX_ReadLenByte(PTGAME_24C0X_BASE_ADDR+4,2); }else if(type==PT_TABLE)//保存图标信息 {
for(i=0;i<36;i++)Cur_Table[i]=AT24CXX_ReadOneByte(PTGAME_24C0X_BASE_ADDR+6+i);//读取当前图表信息 } }
4. 游戏运行核心算法
进入游戏之后,系统将界面分为若干个区域并依次编号,保存在一个数组里面,当点击触屏之后,会返回点击处所在位置的编号,而后进行判定,若需移动,则将空白区域与拼图区域相互交换,同时step数值加一。当拼图块编号与