subject-two/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge41Mndg.h

231 lines
7.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 说明: 科三项目[模拟灯光]评判
*
* 作者: 杨海洋
* 日期: 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