int AIThreadFunc(void * unused){
    int old_time,cur_time,x,y;
    old_time = cur_time = SDL_GetTicks();
    while( !AIPlayer.gameOver ){
        while( AIPlayer.alive ){
            while( !AIPlayer.Operation.isEmpty() && AIPlayer.alive){
                EnterCriticalSection(&AIPlayer.cs);
                AIPlayer.Operation.DeleteQ(AIPlayer.command);
                AIPlayer.curblk.ClearCube();
                switch( AIPlayer.command ){
                    case MOVEDOWN: AIPlayer.curblk.MoveDown();
                                   break;
                    case MOVELEFT: AIPlayer.curblk.MoveLeft();
                                   break;
                    case MOVERIGHT:AIPlayer.curblk.MoveRight();
                                   break;
                    case ROTATE  : AIPlayer.curblk.Rotate();
                                   break;
                 }
                 if( AIPlayer.command == TURNNEXT ){                 //有的特殊命令最好特殊处理
                    AIPlayer.curblk.TurnNext();
                    break;
                 }
                 AIPlayer.curblk.DrawCube();
                 Screen.flip();
                 LeaveCriticalSection(&AIPlayer.cs);
            }
            cur_time = SDL_GetTicks();
            SDL_Delay(1);

            if( cur_time - old_time < 400 ) continue;
            old_time = cur_time;
            AIPlayer.Operation.AddQ(MOVEDOWN);
//            old_time = cur_time;
//            x = AIPlayer.curblk.x;
//            y = AIPlayer.curblk.y;
//            if( AIPlayer.BestRotate>0 ){
//                AIPlayer.Operation.AddQ(ROTATE);
//                AIPlayer.BestRotate -= 1;
//                continue;
//            }
//            if( AIPlayer.BestPath[x][y+1] ){
//                AIPlayer.Operation.AddQ(MOVEDOWN);
//                AIPlayer.BestPath[x][y+1] = 0;
//                y += 1;
//                continue;
//            }else if( BestPath[x+1][y] ){
//                AIPlayer.Operation.AddQ(MOVERIGHT);
//                AIPlayer.BestPath[x+1][y] = 0;
//                x += 1;
//                continue;
//            }else if( AIPlayer.BestPath[x-1][y] ){
//                AIPlayer.Operation.AddQ(MOVELEFT);
//                AIPlayer.BestPath[x-1][y] = 0;
//                x -= 1;
//                continue;
//            }
        }
        while(AIPlayer.AIDelLine());
        AIPlayer.Operation.ClearQ();
        AIPlayer.AIShowCube();
//        AIPlayer.Search();
        AIPlayer.alive = 1;
    }
    return 0;
}