|
|
@ -70,7 +70,7 @@ void L3_task_game_init(void) |
|
|
|
_s_task_game.game_info[0].game_supported_oid[4].yes_or_no = 0; |
|
|
|
|
|
|
|
_s_task_game.game_info[0].game_order = 0; |
|
|
|
_s_task_game.game_info[0].game_timeout_seconds = 600; |
|
|
|
_s_task_game.game_info[0].game_timeout_seconds = 60; |
|
|
|
_s_task_game.game_info[0].game_score = 0; |
|
|
|
|
|
|
|
_s_task_game.game_info[1].game_oid = GAME_OID_SHERT; |
|
|
@ -103,7 +103,7 @@ void L3_task_game_init(void) |
|
|
|
_s_task_game.game_info[1].game_supported_oid[25].oid = 0x3179; //错误码
|
|
|
|
_s_task_game.game_info[1].game_supported_oid[25].yes_or_no = 0; |
|
|
|
_s_task_game.game_info[1].game_order = 1; |
|
|
|
_s_task_game.game_info[1].game_timeout_seconds = 600; |
|
|
|
_s_task_game.game_info[1].game_timeout_seconds = 60; |
|
|
|
_s_task_game.game_info[1].game_score = 0; |
|
|
|
|
|
|
|
_s_task_game.game_info[2].game_oid = GAME_OID_ZMG; |
|
|
@ -117,7 +117,7 @@ void L3_task_game_init(void) |
|
|
|
_s_task_game.game_info[2].game_supported_oid[6].oid = 0x317A; //错误码
|
|
|
|
_s_task_game.game_info[2].game_supported_oid[6].yes_or_no = 0; |
|
|
|
_s_task_game.game_info[2].game_order = 1; |
|
|
|
_s_task_game.game_info[2].game_timeout_seconds = 600; |
|
|
|
_s_task_game.game_info[2].game_timeout_seconds = 60; |
|
|
|
_s_task_game.game_info[2].game_score = 0; |
|
|
|
|
|
|
|
|
|
|
@ -130,16 +130,31 @@ void L3_task_game_init(void) |
|
|
|
#define D_task_READ_OID 0x50 |
|
|
|
#define D_task_GAME_SWITCH 0x51 |
|
|
|
#define D_task_GAME_PLAY 0x52 |
|
|
|
#define D_task_GAME_COMPLETED 0x53 |
|
|
|
#define D_task_GAME_NET_SUBMIT 0x54 |
|
|
|
#define D_task_GAME_TIMEOUT 0x53 |
|
|
|
#define D_task_GAME_COMPLETED 0x54 |
|
|
|
#define D_task_GAME_NET_SUBMIT 0x55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
{ |
|
|
|
|
|
|
|
TTSS_Task_init() |
|
|
|
L2_task_go(D_task_READ_OID); |
|
|
|
L2_task_go(D_task_GAME_TIMEOUT); |
|
|
|
|
|
|
|
TTSS_Task_step(D_task_GAME_TIMEOUT) |
|
|
|
if (s->game_info_index != -1 && (s_nos_tick.t_1s - s->start_seconds > s->game_info[s->game_info_index].game_timeout_seconds)) |
|
|
|
{ |
|
|
|
// 游戏超时
|
|
|
|
s->timeover_flag = 1; |
|
|
|
L0_uart0_sendstr("audio_game_overtime! "); |
|
|
|
L2_WT2605B_Broadcast(&audio_game_overtime); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_NET_SUBMIT,D_Tdelay_300ms); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_100ms); |
|
|
|
} |
|
|
|
TTSS_Task_step(D_task_READ_OID) |
|
|
|
L1_Oid_readoid(); |
|
|
|
|
|
|
@ -152,6 +167,11 @@ void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
L2_task_go_Tdelay(D_task_GAME_SWITCH,D_Tdelay_100ms); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_100ms); |
|
|
|
} |
|
|
|
|
|
|
|
TTSS_Task_step(D_task_GAME_SWITCH) |
|
|
|
U8 i = 0; |
|
|
|
U8 j = 0; |
|
|
@ -168,18 +188,19 @@ void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
s->game_info_index = i; |
|
|
|
s->eeror_times = 0; |
|
|
|
s->start_seconds = s_nos_tick.t_1s; |
|
|
|
s->timeover_flag = 0; |
|
|
|
for (j = 0; j < game_supported_oid_max; j++) |
|
|
|
{ |
|
|
|
s->game_info[s->game_info_index].game_supported_oid[j].handled = 0; |
|
|
|
} |
|
|
|
L2_WT2605B_Broadcast(s->game_info[i].game_audio); |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_100ms); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_100ms); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (s->game_info_index == -1) |
|
|
|
{ |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_100ms); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_100ms); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
@ -233,13 +254,12 @@ void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_100ms); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_100ms); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
L0_uart0_sendstr("It's not supported oid, please try again."); |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_100ms); |
|
|
|
|
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_100ms); |
|
|
|
TTSS_Task_step(D_task_GAME_COMPLETED) |
|
|
|
U8 completed = 1; //假设已完成
|
|
|
|
U8 i = 0; |
|
|
@ -268,7 +288,7 @@ void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
{ |
|
|
|
L2_WT2605B_Broadcast(s->game_info[s->game_info_index].game_supported_oid[s->game_point_index].point_audio); |
|
|
|
} |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_300ms); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_300ms); |
|
|
|
} |
|
|
|
TTSS_Task_step(D_task_GAME_NET_SUBMIT) |
|
|
|
U8 seconds = s_nos_tick.t_1s - s->start_seconds; |
|
|
@ -281,13 +301,14 @@ void L3_task_game_handler(S_TASK_GAME *s) |
|
|
|
_s_task_w600_para.submittaskpkg.Second[1] = seconds >> 0 & 0xFF; |
|
|
|
_s_task_w600_para.submittaskpkg.Error_Time[0] = 0; |
|
|
|
_s_task_w600_para.submittaskpkg.Error_Time[1] = _s_task_game.eeror_times; |
|
|
|
_s_task_w600_para.submittaskpkg.TimeOver_Flag = s->timeover_flag; |
|
|
|
_s_task_w600_para.submittaskpkg.Score[0] = 0; |
|
|
|
_s_task_w600_para.submittaskpkg.Score[1] = 0; |
|
|
|
|
|
|
|
|
|
|
|
// 游戏结束,没有要进行的游戏
|
|
|
|
s->game_info_index = -1; |
|
|
|
L0_uart0_sendstr("It's completed."); |
|
|
|
L2_task_go_Tdelay(D_task_READ_OID,D_Tdelay_300ms); |
|
|
|
L2_task_go_Tdelay(D_task_GAME_TIMEOUT,D_Tdelay_300ms); |
|
|
|
|
|
|
|
TTSS_Task_end(); |
|
|
|
|
|
|
|