else

            {

                if(gi_2 == 3)

                {

                    SubRoutine_4 ();   /*灭火*/

                   

                    gi_2 = 4 ;         /*切换到回家*/

                }

                else

                {

                    if(gi_2 == 4)      /*进入回家模式*/

                    {

                        if(gi_3 == 1)       /*1号房间回家*/

                        {

                            SubRoutine_5 ();  /*右手走*/

                           

                        }

                        else

                        {

                            if(gi_3 == 3)     /*2号房间回家*/ 

                            {

                                if(rot_1 == 1)   /*灭火后,从2号房间出来*/

                                {

                                    SubRoutine_1 ();  /*左手走*/

                                   

                                }

                                else

                                {

                                    if(rot_1 == 2)   /*到了通往3号房间的巷子*/

                                    {

                                        drive( 0 , 80);    /*右转180*/ /*程序中应                   尽量避免这种强制的不接受外部反馈的硬性动作,应尽量采用柔性控制 */

                                        wait( 0.650000 );

                                        stop();

                                        rot_1 = 3 ;

                                    }