231 lines
7.5 KiB
C++
231 lines
7.5 KiB
C++
/*
|
||
* 说明: 科三项目[模拟灯光]评判
|
||
*
|
||
* 作者: 杨海洋
|
||
* 日期: 2024-04-16
|
||
*
|
||
* ***************************************************************************************
|
||
*
|
||
* {
|
||
* [灯光类型]
|
||
* (1)打开灯光
|
||
* <1.1>下面将进行模拟夜间行驶场景灯光的考试,请在5秒内作出相应的灯光操作
|
||
*
|
||
* (2)交替使用远近光灯 (不允许出现除"交替"外的其他灯光变化)
|
||
* <1.1>夜间通过急弯
|
||
* <1.2>夜间通过坡路
|
||
* <1.3>夜间通过拱桥
|
||
* <1.4>夜间通过人行横道
|
||
* <1.5>夜间通过没有交通信号灯控制的路口
|
||
*
|
||
* <2.1>夜间超车
|
||
*
|
||
*
|
||
* (3)开近光灯
|
||
* <1.1>夜间同方向近距离跟车行驶
|
||
*
|
||
* <2.1>夜间发生会车
|
||
*
|
||
* <3.1>夜间直行通过路口
|
||
* <3.2>夜间路口左转弯
|
||
* <3.3>夜间路口右转弯
|
||
*
|
||
* <4.1>夜间在有路灯的道路上行驶
|
||
* <4.2>夜间在照明良好的道路上行驶
|
||
*
|
||
* <5.1> 请打开近光灯 20150126 石家庄 删除
|
||
*
|
||
* (4)开远光灯
|
||
* <1.1>夜间在没有照明的道路上行驶
|
||
* <1.2>夜间在照明不良的道路上行驶
|
||
*
|
||
* <2.1>请打远光灯 20150126 石家庄 删除
|
||
*
|
||
*
|
||
* (5)车辆发生故障(关大灯,开双跳)
|
||
* <1.1>车辆发生故障(关大灯,开双跳) 改成路边临时停车 需改语音
|
||
* <1.2>车辆发生交通事故 取消
|
||
*
|
||
* (6)故障解除
|
||
* <1.1>故障解除,继续夜间行驶 取消
|
||
*
|
||
* (7)关闭灯光
|
||
* <1.1>请关闭所有灯光
|
||
*
|
||
*
|
||
*
|
||
* (8) 双跳灯+雾灯
|
||
* <1.1> 雾天行驶 20150126 石家庄
|
||
* <1.2> 大雨中行驶 guizhou
|
||
*
|
||
* (9) 雨刷器
|
||
* <1.1> 雨天行驶 20150514
|
||
*
|
||
*
|
||
* }
|
||
*
|
||
* {2015-01-26 石家庄需要 将383参数设为0^1^4^
|
||
*
|
||
* 四套灯光语音,随机播放任意一套作为考试项目
|
||
* 1.A.开始考试,请在5秒内按语音提示完成灯光操作
|
||
* B.请打开远光灯
|
||
* C.夜间车辆发生故障难以移动
|
||
* D.请打开远光灯
|
||
* E.前方通过没有交通信号灯控制的路口
|
||
* F. 请打开远光灯
|
||
* G.同方向近距离跟车行驶
|
||
* H. 请打开远光灯
|
||
* I.前方通过坡路
|
||
* J. 请打开远光灯
|
||
* K.灯光操作结束,请关闭灯光,开始考试
|
||
* 对应的编号:5,1,1;4,2,1;2,1,5;4,2,1;3,1,1;4,2,1;2,1,2;4,2,1;
|
||
*
|
||
* 2. A.开始考试,请在5秒内按语音提示完成灯光操作
|
||
* B.请打开远光灯
|
||
* C.前方通过急弯
|
||
* D.请打开远光灯
|
||
* E.夜间车辆发生故障难以移动
|
||
* F. 请打开远光灯
|
||
* G.在照明良好的道路上行驶
|
||
* H. 请打开远光灯
|
||
* I.前方通过人行横道
|
||
* J. 请打开远光灯
|
||
* K.灯光操作结束,请关闭灯光,开始考试
|
||
*
|
||
* 对应的编号:2,1,1;4,2,1;5,1,1;4,2,1;3,4,2;4,2,1;2,1,4;4,2,1;
|
||
*
|
||
* 3. A.开始考试,请在5秒内按语音提示完成灯光操作
|
||
* B.请打开远光灯
|
||
* C.前方通过没有交通信号灯控制的路口
|
||
* D.请打开远光灯
|
||
* E.请打开近光灯
|
||
* F. 请打开远光灯
|
||
* G.夜间车辆发生故障难以移动
|
||
* H. 请打开远光灯
|
||
* I.前方通过坡路
|
||
* J. 请打开远光灯
|
||
* K.灯光操作结束,请关闭灯光,开始考试
|
||
*
|
||
* 对应的编号:2,1,5;4,2,1;3,5,1;4,2,1;5,1,1;4,2,1;2,1,2;4,2,1;
|
||
*
|
||
*
|
||
* 4. A.开始考试,请在5秒内按语音提示完成灯光操作
|
||
* B.请打开远光灯
|
||
* C.雾天行驶
|
||
* D.请打开远光灯
|
||
* E.同方向近距离跟车行驶
|
||
* F. 请打开远光灯
|
||
* G. 夜间车辆发生故障难以移动
|
||
* H. 请打开远光灯
|
||
* I.前方通过人行横道
|
||
* J. 请打开远光灯
|
||
* K.灯光操作结束,请关闭灯光,开始考试
|
||
* 对应的编号:8,1,1;4,2,1;3,1,1;4,2,1;5,1,1;4,2,1;2,1,4;4,2,1;
|
||
* }
|
||
*
|
||
*
|
||
* { 20170515
|
||
* 江西区域九江宏祥灯光需求:
|
||
*
|
||
* 一 若灯光拨杆处于近光灯位置,顺序如下
|
||
* 1、请开启前照灯(开大灯)
|
||
* 2、夜间在没有路灯照明不良条件下行驶(开远光)
|
||
* 3、夜间方向近距离跟车行驶(开近光)
|
||
* 4、在下面两个随机取其一
|
||
* A.夜间在没有路灯照明不良条件下行驶(开远光)
|
||
* B. 请将前照灯转换为远光(开远光)
|
||
* 5、夜间在窄路窄桥与机动车会车或非机动车回车(开近光)
|
||
* 6、在下面2个随机取其一
|
||
* A.夜间在道路上发生交通事故、妨碍交通又难以移动(往左关一格大灯,开双闪)
|
||
* B.雾天行驶(拨起大灯开双闪)
|
||
* 7、模拟夜间考试完成,请关闭所有灯光,请起步继续完成考试。
|
||
*
|
||
* 二 若灯光拨杆处于远光等位置,顺序如下
|
||
*
|
||
* 1、请开启前照灯(开大灯)
|
||
* 2、所有打近光项目中随机取其一(开近光)
|
||
* 3、打远光(所有打近光项目中随机取其一)
|
||
* 4、夜间在窄路窄桥与机动车或非机动车会车(开近光)
|
||
* 5、以下几个个随机取其一
|
||
* A.夜间通过急弯坡道拱桥
|
||
* B.夜间通过人行横道
|
||
* C.夜间超越前方车辆
|
||
* D.通过没有信号路口
|
||
*
|
||
* 6、以下两个随机取其一
|
||
* A.夜间在道路上发生交通事故,妨碍交通有难移动(往左关一格大灯,开双闪)
|
||
* B.雾天行驶(拨起大灯开双闪)
|
||
*
|
||
* 7、模拟夜间考试完成,请关闭所有灯光,请起步继续完成考试。
|
||
*
|
||
* }
|
||
*
|
||
*
|
||
*/
|
||
|
||
#ifndef SUB3JUDGE41MNDG_H
|
||
#define SUB3JUDGE41MNDG_H
|
||
|
||
#include "ISub3JudgeWrap.h"
|
||
|
||
class JUDGE_API Sub3Judge41Mndg : public ISub3JudgeWrap
|
||
{
|
||
public:
|
||
explicit Sub3Judge41Mndg();
|
||
virtual ~Sub3Judge41Mndg();
|
||
|
||
DEAL_API bool dealJudgeEnter() override;
|
||
DEAL_API void dealJudgeItem() override;
|
||
|
||
//语音播报结束
|
||
void playSoundEnd(const std::string& code);
|
||
protected:
|
||
//更新灯光变化
|
||
void UpdateDengGuangChange();
|
||
//0、统一调度
|
||
void CallItemProc();
|
||
//1、打开灯光
|
||
void Open_DengGuang();
|
||
//2、交替使用远近光灯
|
||
void JiaoTi_DengGuang();
|
||
//3、打开近光灯
|
||
void Open_JinGuangDeng();
|
||
//4、打开远光灯
|
||
void Open_YuanGuangDeng();
|
||
//5、车辆发生故障 临时停车
|
||
void CheLiangGuZhang();
|
||
//6、故障解除
|
||
void GuZhangJieChu();
|
||
//7、关闭灯光
|
||
void CloseAllDengGuang();
|
||
//8、雾天行驶
|
||
void WuTianXingShi();
|
||
//9、雨天行驶
|
||
void YuTianXingShi();
|
||
//等待声音完毕
|
||
void Wait_Snd_End();
|
||
//初始化灯光项目
|
||
void CSH_DengGuangSubItem();
|
||
//随机生成模拟灯光考试项目要保存起来,回放用
|
||
void storageLightItem(const std::string& item);
|
||
//语音码播放语音
|
||
void playSound(const std::string& kind, int SubWav1, int SubWav2);
|
||
|
||
private:
|
||
TSub3Item41Mndg m_itemv;
|
||
|
||
std::map<std::string, std::string> m_lights; //HeFaDengGuangDataList //加载合法的灯光 //参考头文件注释说明[灯光类型]
|
||
|
||
// 2015-01-26 石家庄需要将383参数设置为0^1^4^
|
||
// 四套灯光语音,随机播放任意一套作为考试题目
|
||
const std::string m_s383arg = "0^1^4^"; //383参数 新模拟夜间(次数^错扣^固定^)
|
||
|
||
int64 m_lastDealTick = 0;
|
||
|
||
//bool PlaySnd_ID = false; //正在播报语音标志
|
||
//int PlaySnd_Cnt = 0, PlaySnd_Cnt1 = 0;
|
||
//std::set<std::string> g_lstsound;
|
||
};
|
||
|
||
#endif // SUB3JUDGE41MNDG_H
|