void disp_data(t_philo *p) { int i; char *state; i = 0; p = disp_free_sticks(p); while (i++ < 7) { if (p->state == REST) state = ft_strdup("REST"); else if (p->state == THINK) state = ft_strdup("THINK"); else if (p->state == EAT) state = ft_strdup("EAT"); if (p->state == WIN) disp_string(-.2, .15, ft_strdup("Now, it is time... To DAAAAAAAANCE ! ! !")); else if (p->state == LOSE) { glClear(GL_COLOR_BUFFER_BIT); disp_string(0, 0, ft_strdup("Game Over, press esc to quit")); } else regular_disp(p, state); p = p->next; } }
void LCD1602::disp_time_HMS(uint8_t hour,uint8_t min,uint8_t sec) { char s[8]; set_pos(2,0); disp_string("Time: "); sprintf(s,"%02d:%02d:%02d",hour,min,sec); disp_string(s); set_pos(2,15); disp_char('*'); //第二行结束符显示 }
void put_winner(t_env *e, float eom) { eom = -0.7; if (e->p1_count != e->p2_count) { disp_string(-1, eom, "And the Winner is :"); if (e->p1_count > e->p2_count) disp_string(-0.1, eom, "Player 1 !!"); else disp_string(-0.1, eom, "Player 2 !!"); } else disp_string(-1, eom, "The game is Draw !!"); }
float disp_piece(t_env *e, float eom) { disp_string(-1, eom, "Piece :"); eom -= 0.005; disp_grid(e->piece_size, -0.95, eom - 0.10, e->sz); fill_piece_bonus(e, eom - 0.11); return (eom); }
void LCD1602::test(void) { char str[]={"Hello World !"}; disp_string(1,1,str); flicker_char(2,3); flicker_screen(); flicker_screen(); flicker_screen(); }
void LCD1602::disp_date_time(uint32_t year,uint8_t month,uint8_t day,uint8_t hour,uint8_t min,uint8_t sec) { char s[8]; set_pos(1,0); disp_string("Date:"); sprintf(s,"%04d-%02d-%02d",year,month,day); disp_string(s); set_pos(1,15); disp_char('*'); //第一行结束符显示 set_pos(2,0); disp_string("Time: "); sprintf(s,"%02d:%02d:%02d",hour,min,sec); disp_string(s); set_pos(2,15); disp_char('*'); //第二行结束符显示 }
// iftc_RefreshType==0x80 void Menu_Disp_Item_Play(U8 tc_MenuType,U8 tc_Select,U8 tc_RefreshType) //tc_RefreshType always =1; { U8 tc_i; U8 tc_ItemNums,tc_ItemTotalNums; U8 tc_language; U8 *(*p); //指针数组 U8 tc_flag_dispItem=0; U8 x_start; tc_language = gc_language_offset; // dbprintf("\n#1=%bx #2=%bx #3=%bx\n",tc_MenuType,tc_Select,tc_RefreshType); if(tc_RefreshType==0xff) { return; } switch(tc_MenuType) { case 0: //palying to PlayMenu tc_ItemNums = PLAYMENU_2_NUMS; tc_ItemTotalNums=PLAYMENU_2_NUMS; p=PlayMenuTable_2; break; ////////////////////////////////////////////////////////////////////// case 1: //pause to PlayMenu tc_ItemNums = PLAYMENU_1_NUMS; tc_ItemTotalNums=PLAYMENU_1_NUMS; p=PlayMenuTable_1; break; case 2://language if((tc_Select >= 0)&&(tc_Select <= 3))// 多国语言第一个界面 { tc_ItemNums=4; p=&Language_table[0]; }else if((tc_Select >= 4)&&(tc_Select <= 7))// 多国语言第二个界面 { tc_ItemNums=4; p=&Language_table[4]; tc_Select-=4; }else if((tc_Select >= 8)&&(tc_Select <= 11)) // 多国语言第三个界面 { tc_ItemNums=4; p=&Language_table[8]; tc_Select-=8; }else if((tc_Select >= 12)&&(tc_Select <= 15)) // 多国语言第三个界面 { tc_ItemNums=4; p=&Language_table[12]; tc_Select-=12; }else if((tc_Select >= 16)&&(tc_Select <= 19)) // 多国语言第三个界面 { tc_ItemNums=1; p=&Language_table[16]; tc_Select-=16; } tc_language=0; break; case 3://rep_2Menu /* tc_ItemNums = REPEAT_NUMS; p=Repeat_Table; */ // dbprintf("menulevel=3,err!\n") ; break; case 4://EQMenu if(tc_RefreshType==0x80) { LCD_erase_one_page_PlayMenu_test(3); LCD_erase_one_page_PlayMenu_test(4); if(tc_language==0 || tc_language==1|| tc_language==3 || tc_language==4 || tc_language==15 ) { //column_string=;//*16/2 //x_start=64-EQ_Table[tc_language*6][0]*16/2/2; ; x_start=64-EQ_Table[tc_Select+tc_language*7][0]*4; if(x_start>128) //not : x_start < 0 { x_start=0; } disp_string(3,x_start,EQ_Table[tc_Select+tc_language*7],0); }else { x_start=64-EQ_Table[tc_Select+tc_language*7][0]*2; if(x_start>128) //not : x_start < 0 { x_start=0; } disp_string(3,x_start,EQ_Table[tc_Select+tc_language*7],0); } tc_flag_dispItem=1; }else { if((tc_Select >= 0)&&(tc_Select <= 3))// 多国语言第一个界面 { tc_ItemNums = 4; tc_ItemTotalNums=EQ_NUMS; p=EQ_Table; }else if((tc_Select >= 4)&&(tc_Select <= 7))// 多国语言第二个界面 { tc_ItemNums=3; tc_ItemTotalNums=EQ_NUMS; p=&EQ_Table[4]; tc_Select-=4; } } break; case 5://rep mode if(tc_RefreshType==0x80) { LCD_erase_one_page_PlayMenu_test(3); LCD_erase_one_page_PlayMenu_test(4); if(tc_language==0 || tc_language==1|| tc_language==3 || tc_language==4 || tc_language==15) { //column_string=;//*16/2 //x_start=64-EQ_Table[tc_language*6][0]*16/2/2; ; x_start=64-Repeat_Table[tc_Select+tc_language*4][0]*4; if(x_start>128) //not : x_start < 0 { x_start=0; } disp_string(3,x_start,Repeat_Table[tc_Select+tc_language*4],0); }else { x_start=64-Repeat_Table[tc_Select+tc_language*4][0]*2; if(x_start>128) { x_start=0; } disp_string(3,x_start,Repeat_Table[tc_Select+tc_language*4],0); } tc_flag_dispItem=1; }else { tc_ItemNums = REPEAT_NUMS; tc_ItemTotalNums= REPEAT_NUMS; p=Repeat_Table; } break; default: tc_flag_dispItem=1; break; } if(tc_flag_dispItem) { // not disp item return; } for(tc_i=0;tc_i<tc_ItemNums;tc_i++) { if(tc_i == tc_Select) { // Menu_Disp_String(tw_word_x,tw_icon_y+tc_High*tc_i,p[tc_i+tc_language*tc_ItemTotalNums],tw_color_select,tw_color_BG_select); disp_string(tc_i*2,0,p[tc_i+tc_language*tc_ItemTotalNums],1); }else { disp_string(tc_i*2,0,p[tc_i+tc_language*tc_ItemTotalNums],0); //Menu_Disp_String(tw_word_x,tw_icon_y+tc_High*tc_i,p[tc_i+tc_language*tc_ItemTotalNums],tw_color_Noselect,tw_color_BG_Noselect); } } if(tc_ItemNums<4) { //擦除不需要显示的行 for(tc_i=tc_ItemNums;tc_i<4;tc_i++) { LCD_erase_one_page_PlayMenu_test(tc_i*2); LCD_erase_one_page_PlayMenu_test(tc_i*2+1); } } }
/********************************************************************* *名 称:setPos_dispString() *功 能:使LCD1602从指定位置开始显示一个字符串 *入口参数:row:显示行,1或2 * col:显示列,0~15 (0~40) * str[]:待显示的字符串 *出口参数:无 *说 明:指定位置是显示的初始位置,第一个字符显示的位置 *********************************************************************/ void LCD1602::disp_string(uint8_t row,uint8_t col,char str[]) { set_pos(row,col); disp_string(str); }