北京邮电大学 程序设计课程设计 电梯 文件输入版本(已调试,大致正确运行==)



专门化时间调试了一下,效果还行,因此怒删上次的bug,这次的问题就很少了,大致可以正确运行!

//Author :Chenxingman
//file_input_output
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include <malloc.h>


#define STOPTIME 2.0
#define LOCAL
#define UP_RUN 1
#define DOWN_RUN 2
#define UP_STOP 3
#define DOWN_STOP 4
#define IDLE 5
#define RUNAFLOOR 10
#define BREAKTIME 0.1


int debug=0;
double timecount=0;
int lockbeginer=1;




struct _cmd
{
    double Time;//指令呼叫时间
    char state[60];//state表示指令
    _cmd *next;
};
typedef struct _cmd cmd; //链表存储待处理业务
typedef struct
{
    /*
    State=<电梯状态>,
    NowF=<电梯当前楼层>,
    GoalF=<电梯目标楼层>,
    WaitF=<未响应的楼层请求>
    StopT=<停靠时间>,
    pointer_top=<指向队列最前端>
    pointer_rare=<指向队列最尾端>
    */
    float NowF;
    int State;
    float GoalF;
    float StopT;
    int top;
    int rare;
    char Waitf[60];
}run_state;


run_state lift;


cmd * creat()//complete
{
cmd *head;
cmd *p1,*p2;
    head=(cmd *)malloc(sizeof(cmd));
    if(scanf("T=%lf,",&head->Time)!=EOF)
    {
    scanf("CallF=");
    char temp='a';
    int pt=0;
    memset(head->state,'\0',sizeof(head->state));
       while(temp!='\n')
       {
      head->state[pt++]=getchar();
      head->state[pt++]=getchar();
      temp=getchar();
     }
     p2=head;
     float temptime;
     while(scanf("T=%f,",&temptime)!=EOF)
     {
      p1=(cmd *)malloc(sizeof(cmd));
      temp='a';
      pt=0;
      p1->Time=temptime;
    scanf("CallF=");
    memset(p1->state,'\0',sizeof(p1->state));
    while(temp!='\n'&&temp!=-1)
           {
         p1->state[pt++]=getchar();
         p1->state[pt++]=getchar();
         temp=getchar();
            }
            p2->next=p1;
            p2=p1;
    }
    p1->next=NULL;
    }
    return head;
}
void print(cmd *head)//complete
{
cmd *p;
p=head;
while(p!=NULL)
{
printf("time=%f,state:%s\n",p->Time,p->state);
p=p->next;
}
}
void print2(cmd *p)//complete
{
printf("time=%f,state:%s\n",p->Time,p->state);
}
void addup(char input[])//complete
{
    ++lift.top;
    int i=lift.top;
int j=0;
for(;j<strlen(input);i++,j++)
{
lift.top=lift.top%60;
lift.Waitf[lift.top]=input[j];
lift.top++;
}
lift.top--;
}
int EqualZero(float t)//complete
{
    if(t>-10e-3&&t<10e-3)
        return 1;
    return 0;
}
void deletecmd()
{
    lift.Waitf[(lift.rare)%60]='\0';
    lift.Waitf[(lift.rare+1)%60]='\0';
lift.rare+=2;
lift.rare=lift.rare%60;
}
void changestate()
{
if(lockbeginer==1)
{
        lift.GoalF=1;
}
else
lift.GoalF=lift.Waitf[lift.rare]-'0';
if(lift.GoalF<1||lift.GoalF>9)
lift.GoalF=lift.NowF;


switch(lift.State)
    {
        case IDLE:
            if(EqualZero(lift.GoalF-lift.NowF))
            {
            lift.State=IDLE;//不用改变
            }
            else if(lift.GoalF>lift.NowF)
            {
            lift.State=UP_RUN;//一旦改变如果是动作完成就要deletecmd
            lift.NowF+=1.0/RUNAFLOOR;
                if(EqualZero(lift.NowF-lift.GoalF))
                {
               lift.State=UP_STOP;//这个不用担心,不会刚刚开始运行就停止的
                }
            }
            else if(lift.GoalF<lift.NowF)
            {
            printf("NOW:LIFT.GOALF=%.8f,LIFT.NOWF=%.8f  \n\n",lift.GoalF,lift.NowF);
            lift.State=DOWN_RUN;//一旦改变如果是动作完成就要deletecmd
            lift.NowF-=1.0/RUNAFLOOR;
                if(EqualZero(lift.NowF-lift.GoalF))
                {
                lift.State=DOWN_STOP;//这个不用担心,不会刚刚开始运行就停止的
                }
            }
            else if(EqualZero(lift.GoalF-lift.NowF))
            {
            lift.State=DOWN_STOP;//这里就得deletecmd了
            deletecmd();
            if(lift.StopT<STOPTIME)
                    lift.StopT+=BREAKTIME;
                else
                {
                    lift.StopT=0;
                    lift.State=IDLE;
                }
            }
            break;
        case UP_RUN:
            lift.NowF+=1.0/RUNAFLOOR;
            if(EqualZero(lift.NowF-lift.GoalF))
            {
            lift.State=UP_STOP;
            deletecmd();
            }
            break;
        case DOWN_RUN:
            lift.NowF-=1.0/RUNAFLOOR;
            if(EqualZero(lift.NowF-lift.GoalF))
            {
            lift.State=DOWN_STOP;
            deletecmd();
            }
            break;
        case UP_STOP:
        case DOWN_STOP:
            if(EqualZero(lift.StopT-STOPTIME))
            {
                lift.StopT=0;
                if(EqualZero(lift.GoalF-lift.NowF))
            {
            lift.State=IDLE;//不用改变
            }
            else if(lift.GoalF>lift.NowF)
            {
            lift.State=UP_RUN;//一旦改变如果是动作完成就要deletecmd
            lift.NowF+=1.0/RUNAFLOOR;
                if(EqualZero(lift.NowF-lift.GoalF))
                {
               lift.State=UP_STOP;//这个不用担心,不会刚刚开始运行就停止的
                }
            }
            else if(lift.GoalF<lift.NowF)
            {
            printf("NOW:LIFT.GOALF=%.8f,LIFT.NOWF=%.8f  \n\n",lift.GoalF,lift.NowF);
            lift.State=DOWN_RUN;//一旦改变如果是动作完成就要deletecmd
            lift.NowF-=1.0/RUNAFLOOR;
                if(EqualZero(lift.NowF-lift.GoalF))
                {
                lift.State=DOWN_STOP;//这个不用担心,不会刚刚开始运行就停止的
                }
            }
            else if(EqualZero(lift.GoalF-lift.NowF))
            {
            lift.State=DOWN_STOP;//这里就得deletecmd了
            deletecmd();
            if(lift.StopT<STOPTIME)
                    lift.StopT+=BREAKTIME;
                else
                {
                    lift.StopT=0;
                    lift.State=IDLE;
                }
               }
            }
            else
            {
                lift.StopT+=BREAKTIME;
            }
            break;
    }//switch
}
void printstate()//complete
{
    printf("T=%.2f,State=",timecount);
    switch(lift.State)
    {
        case IDLE:
            printf("IDLE");
            break;
        case UP_RUN:
            printf("UP_RUN");
            break;
        case DOWN_RUN:
            printf("DOWN_RUN");
            break;
        case UP_STOP:
            printf("UP_STOP");
            break;
        case DOWN_STOP:
            printf("DOWN_STOP");
            break;
    }//switch
    printf(",NowF=%.2f,",lift.NowF);
    printf("GoalF=%.2f,",lift.GoalF);
    printf("StopT=%.2f,",lift.StopT);
    printf("WaitF=");
    if((lift.rare+60-1)%60!=lift.top)
    {int i;
    for(i=lift.rare;;i++)
    {
    i=i%60;
    printf("%c",lift.Waitf[i]);
    if(i==lift.top) break;
    }
    }
    printf("\n");
}
int main()
{
    lift.NowF=1;
    lift.State=IDLE;
    lift.GoalF=1;
    lift.top=59;
    lift.rare=0;
    memset(lift.Waitf,'\0',sizeof(lift.Waitf));
    #ifdef LOCAL
    freopen("data.in","r",stdin);
    freopen("data.out","w",stdout);
    #endif
    cmd *head;
    head=creat();
    print(head);
    cmd temp;
    cmd *pointer=head;
    temp.next=head;


    temp.Time=pointer->Time;
    strcpy(temp.state,pointer->state);
    pointer=pointer->next;


    while(temp.next!=NULL)//条件不太合理,太困了,明天再看
    {
        if(EqualZero(timecount-temp.Time))
        {
        addup(temp.state);
        lockbeginer=0;
            temp.Time=pointer->Time;
            strcpy(temp.state,pointer->state);
            pointer=pointer->next;
        //读取最新的queue
        }
        timecount+=BREAKTIME;
        changestate();
        printstate();
    }
    return 0;
}



data.in:

T=1,CallF=4U 5U
T=2,CallF=8D
T=4,CallF=9T
T=100,CallF=1U

data.out:

time=1.000000,state:4U5U
time=2.000000,state:8D
time=4.000000,state:9T
time=100.000000,state:1U
T=0.10,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.20,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.30,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.40,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.50,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.60,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.70,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.80,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=0.90,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=1.00,State=IDLE,NowF=1.00,GoalF=1.00,StopT=0.00,WaitF=
T=1.10,State=UP_RUN,NowF=1.10,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.20,State=UP_RUN,NowF=1.20,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.30,State=UP_RUN,NowF=1.30,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.40,State=UP_RUN,NowF=1.40,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.50,State=UP_RUN,NowF=1.50,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.60,State=UP_RUN,NowF=1.60,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.70,State=UP_RUN,NowF=1.70,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.80,State=UP_RUN,NowF=1.80,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=1.90,State=UP_RUN,NowF=1.90,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=2.00,State=UP_RUN,NowF=2.00,GoalF=4.00,StopT=0.00,WaitF=4U5U
T=2.10,State=UP_RUN,NowF=2.10,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.20,State=UP_RUN,NowF=2.20,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.30,State=UP_RUN,NowF=2.30,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.40,State=UP_RUN,NowF=2.40,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.50,State=UP_RUN,NowF=2.50,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.60,State=UP_RUN,NowF=2.60,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.70,State=UP_RUN,NowF=2.70,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.80,State=UP_RUN,NowF=2.80,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=2.90,State=UP_RUN,NowF=2.90,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.00,State=UP_RUN,NowF=3.00,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.10,State=UP_RUN,NowF=3.10,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.20,State=UP_RUN,NowF=3.20,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.30,State=UP_RUN,NowF=3.30,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.40,State=UP_RUN,NowF=3.40,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.50,State=UP_RUN,NowF=3.50,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.60,State=UP_RUN,NowF=3.60,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.70,State=UP_RUN,NowF=3.70,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.80,State=UP_RUN,NowF=3.80,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=3.90,State=UP_RUN,NowF=3.90,GoalF=4.00,StopT=0.00,WaitF=4U5U8D
T=4.00,State=UP_STOP,NowF=4.00,GoalF=4.00,StopT=0.00,WaitF=5U8D
T=4.10,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.10,WaitF=5U8D9T
T=4.20,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.20,WaitF=5U8D9T
T=4.30,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.30,WaitF=5U8D9T
T=4.40,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.40,WaitF=5U8D9T
T=4.50,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.50,WaitF=5U8D9T
T=4.60,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.60,WaitF=5U8D9T
T=4.70,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.70,WaitF=5U8D9T
T=4.80,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.80,WaitF=5U8D9T
T=4.90,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=0.90,WaitF=5U8D9T
T=5.00,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.00,WaitF=5U8D9T
T=5.10,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.10,WaitF=5U8D9T
T=5.20,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.20,WaitF=5U8D9T
T=5.30,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.30,WaitF=5U8D9T
T=5.40,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.40,WaitF=5U8D9T
T=5.50,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.50,WaitF=5U8D9T
T=5.60,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.60,WaitF=5U8D9T
T=5.70,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.70,WaitF=5U8D9T
T=5.80,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.80,WaitF=5U8D9T
T=5.90,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=1.90,WaitF=5U8D9T
T=6.00,State=UP_STOP,NowF=4.00,GoalF=5.00,StopT=2.00,WaitF=5U8D9T
T=6.10,State=UP_RUN,NowF=4.10,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.20,State=UP_RUN,NowF=4.20,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.30,State=UP_RUN,NowF=4.30,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.40,State=UP_RUN,NowF=4.40,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.50,State=UP_RUN,NowF=4.50,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.60,State=UP_RUN,NowF=4.60,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.70,State=UP_RUN,NowF=4.70,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.80,State=UP_RUN,NowF=4.80,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=6.90,State=UP_RUN,NowF=4.90,GoalF=5.00,StopT=0.00,WaitF=5U8D9T
T=7.00,State=UP_STOP,NowF=5.00,GoalF=5.00,StopT=0.00,WaitF=8D9T
T=7.10,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.10,WaitF=8D9T
T=7.20,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.20,WaitF=8D9T
T=7.30,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.30,WaitF=8D9T
T=7.40,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.40,WaitF=8D9T
T=7.50,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.50,WaitF=8D9T
T=7.60,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.60,WaitF=8D9T
T=7.70,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.70,WaitF=8D9T
T=7.80,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.80,WaitF=8D9T
T=7.90,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=0.90,WaitF=8D9T
T=8.00,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.00,WaitF=8D9T
T=8.10,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.10,WaitF=8D9T
T=8.20,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.20,WaitF=8D9T
T=8.30,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.30,WaitF=8D9T
T=8.40,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.40,WaitF=8D9T
T=8.50,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.50,WaitF=8D9T
T=8.60,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.60,WaitF=8D9T
T=8.70,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.70,WaitF=8D9T
T=8.80,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.80,WaitF=8D9T
T=8.90,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=1.90,WaitF=8D9T
T=9.00,State=UP_STOP,NowF=5.00,GoalF=8.00,StopT=2.00,WaitF=8D9T
T=9.10,State=UP_RUN,NowF=5.10,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.20,State=UP_RUN,NowF=5.20,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.30,State=UP_RUN,NowF=5.30,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.40,State=UP_RUN,NowF=5.40,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.50,State=UP_RUN,NowF=5.50,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.60,State=UP_RUN,NowF=5.60,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.70,State=UP_RUN,NowF=5.70,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.80,State=UP_RUN,NowF=5.80,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=9.90,State=UP_RUN,NowF=5.90,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.00,State=UP_RUN,NowF=6.00,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.10,State=UP_RUN,NowF=6.10,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.20,State=UP_RUN,NowF=6.20,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.30,State=UP_RUN,NowF=6.30,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.40,State=UP_RUN,NowF=6.40,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.50,State=UP_RUN,NowF=6.50,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.60,State=UP_RUN,NowF=6.60,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.70,State=UP_RUN,NowF=6.70,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.80,State=UP_RUN,NowF=6.80,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=10.90,State=UP_RUN,NowF=6.90,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.00,State=UP_RUN,NowF=7.00,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.10,State=UP_RUN,NowF=7.10,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.20,State=UP_RUN,NowF=7.20,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.30,State=UP_RUN,NowF=7.30,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.40,State=UP_RUN,NowF=7.40,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.50,State=UP_RUN,NowF=7.50,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.60,State=UP_RUN,NowF=7.60,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.70,State=UP_RUN,NowF=7.70,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.80,State=UP_RUN,NowF=7.80,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=11.90,State=UP_RUN,NowF=7.90,GoalF=8.00,StopT=0.00,WaitF=8D9T
T=12.00,State=UP_STOP,NowF=8.00,GoalF=8.00,StopT=0.00,WaitF=9T
T=12.10,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.10,WaitF=9T
T=12.20,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.20,WaitF=9T
T=12.30,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.30,WaitF=9T
T=12.40,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.40,WaitF=9T
T=12.50,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.50,WaitF=9T
T=12.60,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.60,WaitF=9T
T=12.70,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.70,WaitF=9T
T=12.80,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.80,WaitF=9T
T=12.90,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=0.90,WaitF=9T
T=13.00,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.00,WaitF=9T
T=13.10,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.10,WaitF=9T
T=13.20,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.20,WaitF=9T
T=13.30,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.30,WaitF=9T
T=13.40,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.40,WaitF=9T
T=13.50,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.50,WaitF=9T
T=13.60,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.60,WaitF=9T
T=13.70,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.70,WaitF=9T
T=13.80,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.80,WaitF=9T
T=13.90,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=1.90,WaitF=9T
T=14.00,State=UP_STOP,NowF=8.00,GoalF=9.00,StopT=2.00,WaitF=9T
T=14.10,State=UP_RUN,NowF=8.10,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.20,State=UP_RUN,NowF=8.20,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.30,State=UP_RUN,NowF=8.30,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.40,State=UP_RUN,NowF=8.40,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.50,State=UP_RUN,NowF=8.50,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.60,State=UP_RUN,NowF=8.60,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.70,State=UP_RUN,NowF=8.70,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.80,State=UP_RUN,NowF=8.80,GoalF=9.00,StopT=0.00,WaitF=9T
T=14.90,State=UP_RUN,NowF=8.90,GoalF=9.00,StopT=0.00,WaitF=9T
T=15.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=15.10,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.10,WaitF=
T=15.20,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.20,WaitF=
T=15.30,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.30,WaitF=
T=15.40,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.40,WaitF=
T=15.50,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.50,WaitF=
T=15.60,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.60,WaitF=
T=15.70,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.70,WaitF=
T=15.80,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.80,WaitF=
T=15.90,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=0.90,WaitF=
T=16.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.00,WaitF=
T=16.10,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.10,WaitF=
T=16.20,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.20,WaitF=
T=16.30,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.30,WaitF=
T=16.40,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.40,WaitF=
T=16.50,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.50,WaitF=
T=16.60,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.60,WaitF=
T=16.70,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.70,WaitF=
T=16.80,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.80,WaitF=
T=16.90,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=1.90,WaitF=
T=17.00,State=UP_STOP,NowF=9.00,GoalF=9.00,StopT=2.00,WaitF=
T=17.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=17.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=18.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=19.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.10,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.20,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.30,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.40,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.50,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.60,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.70,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.80,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=20.90,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
T=21.00,State=IDLE,NowF=9.00,GoalF=9.00,StopT=0.00,WaitF=
。。。。。。后面省略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
原文地址:https://www.cnblogs.com/xinyuyuanm/p/3030474.html