请问用单片机仿真推箱子游戏导入的C语言程序的算法是什么?
发布网友
发布时间:2022-05-14 01:17
我来回答
共4个回答
热心网友
时间:2023-08-25 09:17
我这有个用proteus模拟的 包括源程序和电路图
你留个邮箱吧,给你发过去
已经发了
热心网友
时间:2023-08-25 09:18
主要采用坐标式计算,移动只有4个方向,然后判断移动方向是否有效......
给你一段程序参考吧,完整的代码就算了``` 该函数是关于移动处理的
static void GameMove( char dx, char dy )
{
unsigned char x, y, n ;
if( f_GameDone )
return ;
if( g_GameSteps == 0xFFFF )
return ;
for( y = 1 ; y < 7 ; y ++ )
for( x = 1 ; x < 9 ; x ++ )
if( g_GameBuf[y][x] & 8 )
{
n = g_GameBuf[y+dy][x+dx] ;
if( n & 1 )
return ;
g_GameUndo = 0 ;
if( n & 4 )
{
if( g_GameBuf[y+dy+dy][x+dx+dx] & 5 )
return ;
g_GameBuf[y+dy][x+dx] &= 0xFB ;
g_GameBuf[y+dy+dy][x+dx+dx] |= 4 ;
g_GameUndo = 0x80 ;
}
g_GameBuf[y][x] &= 0xF7 ;
g_GameBuf[y+dy][x+dx] |= 8 ;
g_GameUndo |= ( ((unsigned char)(dx+1)<<2) | (unsigned char)(dy+1) ) ;
g_GameSteps ++ ;
GameDoneCheck() ;
return ;
}
}
热心网友
时间:2023-08-25 09:18
这个不需要算法的吧。
除非你的陈程序有自动求解的功能。
就是回溯的思想啊,跟人手工找解法一样。
当一种方法走不通了,就重新找一种方法,直到找到,或者找遍。
热心网友
时间:2023-08-25 09:19
单片机的c语言跟别的不一样????郁闷。