日志的打印完成

控制开始结束的流程完成
This commit is contained in:
2022-06-28 18:44:55 +08:00
parent 112299b02f
commit ab830fcd9e
14 changed files with 203 additions and 45 deletions

View File

@@ -19,8 +19,6 @@ public:
RailsModel *rails_model;
QueryModel *query_model;
BusModel *bus_model;
QTimer *tick_timer;
int bus_tick;
@@ -28,6 +26,7 @@ public:
virtual ~BusStrategyBase();
/**
* 获得当前公交车应该前进的方向
* @return 公交车前进的方向
@@ -47,14 +46,50 @@ public:
virtual bus_query_t *HandleQuery() = 0;
signals:
/**
* 删除请求信号
* @param query 需要删除请求的指针
*/
void DeleteQuerySignal(bus_query_t *query);
/**
* 打印状态信号
* @param string 状态字符串
*/
void PrintStateSignal(QString string);
public slots:
void AppendQuerySlot(int query_type, int node_id) const;
/**
* 处理开始事件的槽函数
*/
void BusBeginSlot();
/**
* 处理结束事件的槽函数
*/
void BusEndSlot();
/**
* 处理tick事件的槽函数
*/
void OneTickSlot(int remaining_time);
private:
QString PrintState() const;
/**
* 储存当前的状态
*/
int status = BUS_END;
/**
* 打印当前状态
* @return 表示当前状态的字符串
*/
QString PrintState(int remaining_time) const;
void SetConnection() const;
};

View File

@@ -36,8 +36,6 @@ public:
*/
bus_query_t *target_query;
QTimer *bus_timer;
explicit BusModel();
~BusModel();
@@ -48,7 +46,7 @@ public:
*/
void ResetBus(rail_node_t *head);
double GetBusPosition();
double GetBusPosition(int remaining_time);
/**
* 给出在指定的方向下,指定的请求于公交车当前位置的距离

View File

@@ -9,11 +9,11 @@
#define BUS_COUNTER_CLOCK_WISE 1 // 逆时针
#define BUS_TARGET 2 // 目标
#define BUS_STOP 2 // 停止
#define IO_CLOCK 0 // 读取时钟指令
#define IO_READING 1 // 读取请求指令
#define IO_END 2 // 读取结束指令
#define BUS_FCFS 0 // 先来先服务
#define BUS_SSTF 1 // 最短寻找时间优先
#define BUS_SCAN 2 // 顺便服务
#define BUS_RUNNING 0
#define BUS_PAUSING 1
#define BUS_END 2
#endif //AUTO_BUS_GUI_DEFINE_H

View File

@@ -29,6 +29,13 @@ public:
*/
void SetStopScene(int node_number);
/**
* 开始公交车动画
* @param direction 公交车前进的方向
* @param duration 前进持续的时间
*/
void BeginBusAnimation(int direction, int duration);
private:
/**
* 显示站点的像素图对象

View File

@@ -57,7 +57,7 @@ public:
* @param id 需要查找的站点编号
* @return 需要查找站点指针
*/
rail_node_t *FindNode(int node_num) const;
rail_node_t *FindNode(int node_id) const;
/**
* 创建轨道链表