russia.c
来自「minigui PDA系统 可实现手机功能」· C语言 代码 · 共 2,258 行 · 第 1/5 页
C
2,258 行
if(!TestPosition(pPlayingWindow,pPoint->y+3,pPoint->x+1)) return FALSE; pPoint->y +=1; } break; } break; case DIR_LEFT: case DIR_RIGHT: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=1; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=2; pMovingSquare->poAll[1].y=0; pMovingSquare->poAll[2].x=0; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=1; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+3)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; pPoint->x +=1; break; case ACTION_ROTATE: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+2)) return FALSE; pMovingSquare->iDir=DIR_UP; pMovingSquare->poRightBottom.y = 2; pMovingSquare->poRightBottom.x = 1; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=2; break; case ACTION_DOWN: while(TRUE){ if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; pPoint->y +=1; } break; } break; } return TRUE;}BOOL MoveSquareHill(PlayingWindow * pPlayingWindow,int iAction){ MovingSquare *pMovingSquare; POINT *pPoint; if(iAction == ACTION_INIT) pMovingSquare = pPlayingWindow->pPreCreatedSquare; else pMovingSquare = pPlayingWindow->pMovingSquare; pPoint = &pMovingSquare->poOrigin; switch(pMovingSquare->iDir){ case DIR_UP: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=1; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=2; pMovingSquare->poAll[3].y=1; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+3)) return FALSE; pPoint->x +=1; break; case ACTION_ROTATE: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+2)) return FALSE; pMovingSquare->iDir=DIR_RIGHT; pPoint->x += 1; pMovingSquare->poRightBottom.y = 2; pMovingSquare->poRightBottom.x = 1; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=0; pMovingSquare->poAll[3].y=2; break; case ACTION_DOWN: while(TRUE){ if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+2)) return FALSE; pPoint->y +=1; } break; } break; case DIR_DOWN: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=1; pMovingSquare->poAll[1].y=0; pMovingSquare->poAll[2].x=2; pMovingSquare->poAll[2].y=0; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=1; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+3)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; pPoint->x +=1; break; case ACTION_ROTATE: if(!TestPosition(pPlayingWindow,pPoint->y-1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y-1,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; pPoint->y -= 1; pMovingSquare->iDir=DIR_LEFT; pMovingSquare->poRightBottom.y = 2; pMovingSquare->poRightBottom.x = 1; pMovingSquare->poAll[0].x=1; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=2; break; case ACTION_DOWN: while(TRUE){ if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; pPoint->y +=1; } break; } break; case DIR_LEFT: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 2; pMovingSquare->poRightBottom.x = 1; pMovingSquare->poAll[0].x=1; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=2; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+2)) return FALSE; pPoint->x +=1; break; case ACTION_ROTATE: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; pMovingSquare->iDir=DIR_UP; pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=1; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=2; pMovingSquare->poAll[3].y=1; break; case ACTION_DOWN: while(TRUE){ if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+3,pPoint->x+1)) return FALSE; pPoint->y +=1; } break; } break; case DIR_RIGHT: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 2; pMovingSquare->poRightBottom.x = 1; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=0; pMovingSquare->poAll[3].y=2; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x-1)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; pPoint->x +=1; break; case ACTION_ROTATE: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; pPoint->x -= 1; pPoint->y += 1; pMovingSquare->iDir=DIR_DOWN; pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=1; pMovingSquare->poAll[1].y=0; pMovingSquare->poAll[2].x=2; pMovingSquare->poAll[2].y=0; pMovingSquare->poAll[3].x=1; pMovingSquare->poAll[3].y=1; break; case ACTION_DOWN: while(TRUE){ if(!TestPosition(pPlayingWindow,pPoint->y+3,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+2,pPoint->x+1)) return FALSE; pPoint->y +=1; } break; } break; } return TRUE;}BOOL MoveSquareLeftChair(PlayingWindow * pPlayingWindow,int iAction){ MovingSquare *pMovingSquare; POINT *pPoint; if(iAction == ACTION_INIT) pMovingSquare = pPlayingWindow->pPreCreatedSquare; else pMovingSquare = pPlayingWindow->pMovingSquare; pPoint = &pMovingSquare->poOrigin; switch(pMovingSquare->iDir){ case DIR_UP: switch(iAction){ case ACTION_INIT: pMovingSquare->poRightBottom.y = 1; pMovingSquare->poRightBottom.x = 2; pMovingSquare->poAll[0].x=0; pMovingSquare->poAll[0].y=0; pMovingSquare->poAll[1].x=0; pMovingSquare->poAll[1].y=1; pMovingSquare->poAll[2].x=1; pMovingSquare->poAll[2].y=1; pMovingSquare->poAll[3].x=2; pMovingSquare->poAll[3].y=1; break; case ACTION_PUTIN: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x+2)) return FALSE; break; case ACTION_LEFT: if(!TestPosition(pPlayingWindow,pPoint->y,pPoint->x-1)) return FALSE; if(!TestPosition(pPlayingWindow,pPoint->y+1,pPoint->x-1)) return FALSE; pPoint->x -=1; break; case ACTION_RIGHT: if(!TestPosition(pPlayingWind
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?