|
|
|
#ifndef _APP_TASK_GAME_H
|
|
|
|
#define _APP_TASK_GAME_H
|
|
|
|
|
|
|
|
#include "../ctask/task.h"
|
|
|
|
#include "../clib/clib.h"
|
|
|
|
#include "../bsp/bsp_WT2605B.h"
|
|
|
|
|
|
|
|
|
|
|
|
// #define game_supported_oid_max 32
|
|
|
|
#define game_num_max 110
|
|
|
|
|
|
|
|
|
|
|
|
#define zbt_1_num 4
|
|
|
|
#define zmg_1_num 6
|
|
|
|
#define shert_3_num 26
|
|
|
|
|
|
|
|
/********PAGE1*******/
|
|
|
|
#define zlxs_4_num 1
|
|
|
|
#define hyjj_3_num 1
|
|
|
|
#define hyjj_4_num 1
|
|
|
|
#define hyjj_5_num 1
|
|
|
|
#define cxdd_4_num 1
|
|
|
|
#define mcqh_4_num 1
|
|
|
|
#define mcqh_5_num 1
|
|
|
|
#define jmzx_3_num 1
|
|
|
|
#define jmzx_4_num 1
|
|
|
|
#define jmzx_5_num 1
|
|
|
|
#define hyzb_1_num 1
|
|
|
|
#define hyzb_2_num 1
|
|
|
|
#define sjgh_3_num 1
|
|
|
|
#define jssj_4_num 1
|
|
|
|
#define jssj_5_num 1
|
|
|
|
/********PAGE2*******/
|
|
|
|
#define yxpl_1_num 1
|
|
|
|
#define yxpl_2_num 1
|
|
|
|
#define ydsd_1_num 1
|
|
|
|
#define ydsd_2_num 1
|
|
|
|
#define ydsd_szdd_1_num 1
|
|
|
|
#define ydsd_szdd_2_num 1
|
|
|
|
#define bbdx_1_num 1
|
|
|
|
#define bbdx_2_num 1
|
|
|
|
#define bbdx_3_num 1
|
|
|
|
#define bbdx_4_num 1
|
|
|
|
#define cscd_2_num 1
|
|
|
|
#define cscd_3_num 1
|
|
|
|
#define dqpm_2_num 1
|
|
|
|
#define dqpm_3_num 1
|
|
|
|
#define szsb_2_num 1
|
|
|
|
#define szsb_3_num 1
|
|
|
|
#define szdb_2_num 1
|
|
|
|
#define szdb_3_num 1
|
|
|
|
#define setfg_3_num 26
|
|
|
|
#define setfg_szxz_3_num 1
|
|
|
|
#define setfg_4_num 1
|
|
|
|
#define setfg_5_num 1
|
|
|
|
#define setfg_szdd_5_num 1
|
|
|
|
#define zlxs_3_num 1
|
|
|
|
/********PAGE3*******/
|
|
|
|
#define yxlp_1_num 1
|
|
|
|
#define fztp_2_num 1
|
|
|
|
#define fztp_3_num 1
|
|
|
|
#define fztp_4_num 1
|
|
|
|
#define fztp_5_num 1
|
|
|
|
#define hytc_3_num 1
|
|
|
|
#define hytc_4_num 1
|
|
|
|
#define syxt_3_num 1
|
|
|
|
#define syxt_4_num 1
|
|
|
|
#define typy_3_num 1
|
|
|
|
#define szbs_3_num 1
|
|
|
|
#define szbs_4_num 1
|
|
|
|
#define szbd_3_num 1
|
|
|
|
#define hcss_4_num 1
|
|
|
|
#define hcss_5_num 1
|
|
|
|
#define zftpt_2_num 1
|
|
|
|
#define zftpt_3_num 1
|
|
|
|
#define zftpt_4_num 1
|
|
|
|
#define zftpt_5_num 1
|
|
|
|
/********PAGE4*******/
|
|
|
|
#define bstp_1_num 1
|
|
|
|
#define tpfl_2_num 1
|
|
|
|
#define jytp_3_num 1
|
|
|
|
#define hyws_3_num 1
|
|
|
|
#define hyws_4_num 1
|
|
|
|
#define gwsz_3_num 1
|
|
|
|
#define gwsz_4_num 1
|
|
|
|
#define qjtp_4_num 1
|
|
|
|
#define qjtp_5_num 1
|
|
|
|
#define qqdg_5_num 1
|
|
|
|
#define sudu_2_num 1
|
|
|
|
#define sudu_3_num 1
|
|
|
|
#define sudu_rjds_4_num 1
|
|
|
|
#define sudu_4_num 1
|
|
|
|
#define sudu_5_num 1
|
|
|
|
/********PAGE5*******/
|
|
|
|
#define ahfz_1_num 1
|
|
|
|
#define asfz_2_num 1
|
|
|
|
#define szcl_1_num 1
|
|
|
|
#define szhc_2_num 1
|
|
|
|
#define cssc_3_num 1
|
|
|
|
#define bbxd_3_num 1
|
|
|
|
#define llka_3_num 1
|
|
|
|
#define llka_4_num 1
|
|
|
|
#define llka_5_num 1
|
|
|
|
#define zbto_1_num 1
|
|
|
|
#define zbto_2_num 1
|
|
|
|
#define zbto_3_num 1
|
|
|
|
#define zbto_4_num 1
|
|
|
|
#define zbto_5_num 1
|
|
|
|
/********PAGE6*******/
|
|
|
|
#define ascz_1_num 1
|
|
|
|
#define ascz_2_num 1
|
|
|
|
#define jycz_2_num 1
|
|
|
|
#define jycz_3_num 1
|
|
|
|
#define qccz_3_num 1
|
|
|
|
#define qjjm_3_num 1
|
|
|
|
#define qjjm_4_num 1
|
|
|
|
#define qjjm_bhsl_4_num 1
|
|
|
|
#define qjjm_5_num 1
|
|
|
|
#define qjjm_bhys_5_num 1
|
|
|
|
#define zmgo_1_num 1
|
|
|
|
#define zmgo_2_num 1
|
|
|
|
#define zmgo_3_num 1
|
|
|
|
#define zmgo_4_num 1
|
|
|
|
#define zmgo_5_num 1
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _point_info
|
|
|
|
{
|
|
|
|
U16 oid; //点的oid值
|
|
|
|
U8 yes_or_no; //1错误,0正确
|
|
|
|
TS_SPEECH_AUDIO* point_audio; //点对应的音频
|
|
|
|
U8 handled; //游戏进行过程中是否已经被处理 0 未处理,1 已处理
|
|
|
|
}POINT_INFO;
|
|
|
|
|
|
|
|
typedef struct _point_buf
|
|
|
|
{
|
|
|
|
POINT_INFO zbt_1[zbt_1_num];
|
|
|
|
POINT_INFO zmg_1[zmg_1_num];
|
|
|
|
POINT_INFO shert_3[shert_3_num];
|
|
|
|
/************PAGE1***********/
|
|
|
|
POINT_INFO zlxs_4[zlxs_4_num];
|
|
|
|
POINT_INFO hyjj_3[hyjj_3_num];
|
|
|
|
POINT_INFO hyjj_4[hyjj_4_num];
|
|
|
|
POINT_INFO hyjj_5[hyjj_5_num];
|
|
|
|
POINT_INFO cxdd_4[cxdd_4_num];
|
|
|
|
POINT_INFO mcqh_4[mcqh_4_num];
|
|
|
|
POINT_INFO mcqh_5[mcqh_5_num];
|
|
|
|
POINT_INFO jmzx_3[jmzx_3_num];
|
|
|
|
POINT_INFO jmzx_4[jmzx_4_num];
|
|
|
|
POINT_INFO jmzx_5[jmzx_5_num];
|
|
|
|
POINT_INFO hyzb_1[hyzb_1_num];
|
|
|
|
POINT_INFO hyzb_2[hyzb_2_num];
|
|
|
|
POINT_INFO sjgh_3[sjgh_3_num];
|
|
|
|
POINT_INFO jssj_4[jssj_4_num];
|
|
|
|
POINT_INFO jssj_5[jssj_5_num];
|
|
|
|
/************PAGE2***********/
|
|
|
|
POINT_INFO yxpl_1[yxpl_1_num];
|
|
|
|
POINT_INFO yxpl_2[yxpl_2_num];
|
|
|
|
POINT_INFO ydsd_1[ydsd_1_num];
|
|
|
|
POINT_INFO ydsd_2[ydsd_2_num];
|
|
|
|
POINT_INFO ydsd_szdd_1[ydsd_szdd_1_num];
|
|
|
|
POINT_INFO ydsd_szdd_2[ydsd_szdd_2_num];
|
|
|
|
POINT_INFO bbdx_1[bbdx_1_num];
|
|
|
|
POINT_INFO bbdx_2[bbdx_2_num];
|
|
|
|
POINT_INFO bbdx_3[bbdx_3_num];
|
|
|
|
POINT_INFO bbdx_4[bbdx_4_num];
|
|
|
|
POINT_INFO cscd_2[cscd_2_num];
|
|
|
|
POINT_INFO cscd_3[cscd_3_num];
|
|
|
|
POINT_INFO dqpm_2[dqpm_2_num];
|
|
|
|
POINT_INFO dqpm_3[dqpm_3_num];
|
|
|
|
POINT_INFO szsb_2[szsb_2_num];
|
|
|
|
POINT_INFO szsb_3[szsb_3_num];
|
|
|
|
POINT_INFO szdb_2[szdb_2_num];
|
|
|
|
POINT_INFO szdb_3[szdb_3_num];
|
|
|
|
POINT_INFO setfg_3[setfg_3_num];
|
|
|
|
POINT_INFO setfg_szxz_3[setfg_szxz_3_num];
|
|
|
|
POINT_INFO setfg_4[setfg_4_num];
|
|
|
|
POINT_INFO setfg_5[setfg_5_num];
|
|
|
|
POINT_INFO setfg_szdd_5[setfg_szdd_5_num];
|
|
|
|
POINT_INFO zlxs_3[zlxs_3_num];
|
|
|
|
/************PAGE3***********/
|
|
|
|
POINT_INFO yxlp_1[yxlp_1_num];
|
|
|
|
POINT_INFO fztp_2[fztp_2_num];
|
|
|
|
POINT_INFO fztp_3[fztp_3_num];
|
|
|
|
POINT_INFO fztp_4[fztp_4_num];
|
|
|
|
POINT_INFO fztp_5[fztp_5_num];
|
|
|
|
POINT_INFO hytc_3[hytc_3_num];
|
|
|
|
POINT_INFO hytc_4[hytc_4_num];
|
|
|
|
POINT_INFO syxt_3[syxt_3_num];
|
|
|
|
POINT_INFO syxt_4[syxt_4_num];
|
|
|
|
POINT_INFO typy_3[typy_3_num];
|
|
|
|
POINT_INFO szbs_3[szbs_3_num];
|
|
|
|
POINT_INFO szbs_4[szbs_4_num];
|
|
|
|
POINT_INFO szbd_3[szbd_3_num];
|
|
|
|
POINT_INFO hcss_4[hcss_4_num];
|
|
|
|
POINT_INFO hcss_5[hcss_5_num];
|
|
|
|
POINT_INFO zftpt_2[zftpt_2_num];
|
|
|
|
POINT_INFO zftpt_3[zftpt_3_num];
|
|
|
|
POINT_INFO zftpt_4[zftpt_4_num];
|
|
|
|
POINT_INFO zftpt_5[zftpt_5_num];
|
|
|
|
/************PAGE4***********/
|
|
|
|
POINT_INFO bstp_1[bstp_1_num];
|
|
|
|
POINT_INFO tpfl_2[tpfl_2_num];
|
|
|
|
POINT_INFO jytp_3[jytp_3_num];
|
|
|
|
POINT_INFO hyws_3[hyws_3_num];
|
|
|
|
POINT_INFO hyws_4[hyws_4_num];
|
|
|
|
POINT_INFO gwsz_3[gwsz_3_num];
|
|
|
|
POINT_INFO gwsz_4[gwsz_4_num];
|
|
|
|
POINT_INFO qjtp_4[qjtp_4_num];
|
|
|
|
POINT_INFO qjtp_5[qjtp_5_num];
|
|
|
|
POINT_INFO qqdg_5[qqdg_5_num];
|
|
|
|
POINT_INFO sudu_2[sudu_2_num];
|
|
|
|
POINT_INFO sudu_3[sudu_3_num];
|
|
|
|
POINT_INFO sudu_rjds_4[sudu_rjds_4_num];
|
|
|
|
POINT_INFO sudu_4[sudu_4_num];
|
|
|
|
POINT_INFO sudu_5[sudu_5_num];
|
|
|
|
/************PAGE5***********/
|
|
|
|
POINT_INFO ahfz_1[ahfz_1_num];
|
|
|
|
POINT_INFO asfz_2[asfz_2_num];
|
|
|
|
POINT_INFO szcl_1[szcl_1_num];
|
|
|
|
POINT_INFO szhc_2[szhc_2_num];
|
|
|
|
POINT_INFO cssc_3[cssc_3_num];
|
|
|
|
POINT_INFO bbxd_3[bbxd_3_num];
|
|
|
|
POINT_INFO llka_3[llka_3_num];
|
|
|
|
POINT_INFO llka_4[llka_4_num];
|
|
|
|
POINT_INFO llka_5[llka_5_num];
|
|
|
|
POINT_INFO zbto_1[zbto_1_num];
|
|
|
|
POINT_INFO zbto_2[zbto_2_num];
|
|
|
|
POINT_INFO zbto_3[zbto_3_num];
|
|
|
|
POINT_INFO zbto_4[zbto_4_num];
|
|
|
|
POINT_INFO zbto_5[zbto_5_num];
|
|
|
|
/************PAGE6***********/
|
|
|
|
POINT_INFO ascz_1[ascz_1_num];
|
|
|
|
POINT_INFO ascz_2[ascz_2_num];
|
|
|
|
POINT_INFO jycz_2[jycz_2_num];
|
|
|
|
POINT_INFO jycz_3[jycz_3_num];
|
|
|
|
POINT_INFO qccz_3[qccz_3_num];
|
|
|
|
POINT_INFO qjjm_3[qjjm_3_num];
|
|
|
|
POINT_INFO qjjm_4[qjjm_4_num];
|
|
|
|
POINT_INFO qjjm_bhsl_4[qjjm_bhsl_4_num];
|
|
|
|
POINT_INFO qjjm_5[qjjm_5_num];
|
|
|
|
POINT_INFO qjjm_bhys_5[qjjm_bhys_5_num];
|
|
|
|
POINT_INFO zmgo_1[zmgo_1_num];
|
|
|
|
POINT_INFO zmgo_2[zmgo_2_num];
|
|
|
|
POINT_INFO zmgo_3[zmgo_3_num];
|
|
|
|
POINT_INFO zmgo_4[zmgo_4_num];
|
|
|
|
POINT_INFO zmgo_5[zmgo_5_num];
|
|
|
|
|
|
|
|
}POINT_BUF;
|
|
|
|
|
|
|
|
typedef struct game_info
|
|
|
|
{
|
|
|
|
U16 game_oid; //游戏oid
|
|
|
|
TS_SPEECH_AUDIO* game_audio; //游戏音频
|
|
|
|
POINT_INFO* game_supported_oid; //游戏支持的point
|
|
|
|
U8 game_oid_num; //游戏支持的point的数量
|
|
|
|
U8 game_order; //游戏顺序 0不排序,1排序
|
|
|
|
U16 game_timeout_seconds; //游戏超时时间(秒)
|
|
|
|
U16 game_score; //游戏得分
|
|
|
|
}GAME_INF;
|
|
|
|
|
|
|
|
typedef struct _s_task_game
|
|
|
|
{
|
|
|
|
TS_task task; //TS_task
|
|
|
|
U16 read_oid; //读取到的oid值
|
|
|
|
U16 invalid_oid; //代表无效oid值,0x3FFF
|
|
|
|
U16 game_maxseconds; //所有游戏超时的最大时间,单位为秒
|
|
|
|
GAME_INF game_info[game_num_max]; //游戏信息数组
|
|
|
|
S8 game_info_index; //当前选中的游戏,初始化值为-1代表未选中任何游戏
|
|
|
|
S8 game_point_index; //当前正在处理的点
|
|
|
|
U32 start_seconds; //游戏开始时间
|
|
|
|
U8 eeror_times; //错误次数
|
|
|
|
U8 timeover_flag; //超时标志 0未超时 1超时
|
|
|
|
|
|
|
|
}S_TASK_GAME;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern S_TASK_GAME _s_task_game;
|
|
|
|
|
|
|
|
extern void L3_task_game_init(void);
|
|
|
|
extern void L3_task_game_handler(S_TASK_GAME *s);
|
|
|
|
|
|
|
|
#endif // #ifndef
|