⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.c

📁 我搜集到的一个java常用类库的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
                  send_card_request=1;                  draw_flower(buf[3],buf[4]);                  broadcast_msg(player_id,buf);                  break;                case 530:  /* others epk a card */                  gettimeofday(&before, (struct timezone *) 0);                  turn=player[buf[3]].sit;                  display_point(turn);                  if(buf[4]==12)                  {                    for(i=0;i<pool[turn].out_card_index;i++)                      if(pool[turn].out_card[i][0]==2 &&                         pool[turn].out_card[i][1]==buf[5])                      {                        pool[turn].out_card[i][0]=12;                        pool[turn].out_card[i][4]=buf[5];                        pool[turn].out_card[i][5]=0;                        break;                      }                  }                  else                  {                  for(i=0;i<=3;i++)                    pool[turn].out_card[pool[turn].out_card_index][i]=buf[i+4];                  if(buf[4]==3 || buf[4]==11)  /* 杠牌 */                  {                    pool[turn].out_card[pool[turn].out_card_index][4]=buf[7];                    pool[turn].out_card[pool[turn].out_card_index][5]=0;                  }                  else                    pool[turn].out_card[pool[turn].out_card_index][4]=0;                  pool[turn].out_card_index++;                  }                  draw_epk(buf[3],buf[4],buf[5],buf[6],buf[7]);                  broadcast_msg(player_id,buf);                  return_cursor();                  switch(buf[4])                  {                    case 2:                      for(i=0;i<pool[turn].num;i++)                        if(pool[turn].card[i]==buf[6])                        {                          pool[turn].card[i]=pool[turn].card[pool[turn].num-1];                          pool[turn].card[i+1]=pool[turn].card[pool[turn].num-2];                          break;                        }                      pool[turn].num-=3;                      sort_pool(turn);                      break;                    case 3:                    case 11:                      for(i=0;i<pool[turn].num;i++)                        if(pool[turn].card[i]==buf[6])                        {                          pool[turn].card[i]=pool[turn].card[pool[turn].num-1];                          pool[turn].card[i+1]=pool[turn].card[pool[turn].num-2];                          pool[turn].card[i+2]=pool[turn].card[pool[turn].num-3];                          break;                        }                      pool[turn].num-=3;                      sort_pool(turn);                      break;                    case 7:                    case 8:                    case 9:                      pool[turn].card[search_card(turn,buf[5])]                          =pool[turn].card[pool[turn].num-1];                      pool[turn].card[search_card(turn,buf[7])]                          =pool[turn].card[pool[turn].num-2];                      pool[turn].num-=3;                      sort_pool(turn);                      break;                  }                  break;                 default:                  break;              }              break;    case (FROM_SERV):      read_msg(table_sockfd,buf+3);          switch(msg_id)          {            case 101:              send_gps_line(buf+3);              break;            case 102:              display_comment(buf+3);              break;            case 200:              write_msg(gps_sockfd,"205");              close(table_sockfd);              FD_CLR(table_sockfd,&afds);              in_join=0;              input_mode=TALK_MODE;              init_global_screen();              break;            case 201:  /* get the new comer's info */              strcpy(player[buf[3]].name,buf+5);              player[buf[3]].in_table=1;              player[buf[3]].sit=buf[4];              sprintf(msg_buf,"%s 加入此桌",player[buf[3]].name);              send_gps_line(msg_buf);              player_in_table++;              if(player[buf[3]].sit)                table[player[buf[3]].sit]=buf[3];              break;            case 202:              strcpy(msg_buf,buf+4);              *(msg_buf+5)=0;              player[buf[3]].id=atoi(msg_buf);              player[buf[3]].money=atol(buf+9);              break;            case 203:  /* get others info */              strcpy(player[buf[3]].name,buf+5);              player[buf[3]].sit=buf[4];              player[buf[3]].in_table=1;              player_in_table++;              table[buf[4]]=buf[3];              break;            case 204:              for(i=1;i<=4;i++)              {                table[i]=buf[2+i]-'0';                if( table[i])                {                  player[table[i]].sit=i;                  on_seat++;                }              }              break;            case 205:  /* NOTICE: need player_in_table++ ? */                       /* NOTICE: did he get table[]???? */              my_id=buf[3];              strcpy(player[my_id].name,buf+5);              my_sit=buf[4];              player[my_id].sit=my_sit;              player[my_id].in_table=1;              player[my_id].id=my_gps_id;              player[my_id].money=my_money;              table[my_sit]=my_id;              break;            case 206:              if(player_in_table==4)              {                init_global_screen();                input_mode=TALK_MODE;              }              sprintf(msg_buf,"%s 离开此桌",player[buf[3]].name);              display_comment(msg_buf);              player[buf[3]].in_table=0;              player_in_table--;              break;            case 290:              opening();              break;            case 300:              if(screen_mode==GLOBAL_SCREEN_MODE)              {                init_playing_screen();              }              opening();              break;            case 301:   /* change card */              change_card(buf[3],buf[4]);              break;            case 302:   /* get 16 cards */              for(i=0;i<16;i++)                pool[my_sit].card[i]=buf[i+3];              sort_card(0);              break;            case 303:   /* can get a card */              play_mode=GET_CARD;              attron(A_REVERSE);              show_card(10,INDEX_X+16*2+1,INDEX_Y+1,1);              attroff(A_REVERSE);              wrefresh(stdscr);              beep1();              return_cursor();              break;            case 304:  /* get a card */              process_new_card(my_sit,buf[3]);              break;            case 305:              card_owner=buf[3];              if(card_owner!=my_sit)                show_cardmsg(card_owner,0);              break;            case 306:  /* others got a card ---> change the card number */              card_point=buf[3];              show_num(2,70,144-card_point-16,2);              return_cursor();              break;            case 308:  /* sort cards */              sort_card(buf[3]-'0');              break;            case 310:  /* Player pointer ---  point to new player */              turn=buf[3];              display_point(buf[3]);              return_cursor();              break;            case 312:              pool[buf[3]].time=atof(buf+4);              display_time(buf[3]);              break;            case 314:  /* process new cardback */              show_newcard(buf[3],buf[4]);              return_cursor();              break;            case 330:  /* 海底流局 */              for(i=1;i<=4;i++)              {                if(table[i] && i!=my_sit)                {                  show_allcard(i);                  show_kang(i);                }              }              info.cont_dealer++;              clear_screen_area(THROW_Y,THROW_X,8,34);              wmvaddstr(stdscr,THROW_Y+3,THROW_X+12,"海 底 流 局");              return_cursor();              wait_a_key(PRESS_ANY_KEY_TO_CONTINUE);              break;            case 402:  /* others throw a card */              in_kang=0;              pool[player[buf[3]].sit].first_round=0;              show_cardmsg(player[buf[3]].sit,buf[4]);              current_card=buf[4];              throw_card(buf[4]);               return_cursor();              current_id=buf[3];              break;            case 501:  /* ask for check card */              go_to_check=0;              for(i=1;i<=4;i++)              {                check_flag[my_sit][i]=buf[2+i]-'0';                if(check_flag[my_sit][i])                  go_to_check=1;              }              if(go_to_check)                init_check_mode();              go_to_check=0;              break;            case 518:              for(i=1;i<=4;i++)                pool[i].door_wind=buf[2+i];              wmvaddstr(stdscr,2,64,sit_name[pool[my_sit].door_wind]);              return_cursor();              break;            case 520:              process_epk(buf[3]);              break;            case 521:              for(i=0;i<pool[1].num;i++)                pool[1].card[i]=buf[3+i];              for(i=0;i<pool[2].num;i++)                pool[2].card[i]=buf[19+i];              for(i=0;i<pool[3].num;i++)                pool[3].card[i]=buf[35+i];              for(i=0;i<pool[4].num;i++)                pool[4].card[i]=buf[51+i];              break;            case 522:              process_make(buf[3],buf[4]);              break;            case 525:              draw_flower(buf[3],buf[4]);              break;            case 530:  /* from server */              turn=player[buf[3]].sit;              card_owner=turn;              display_point(turn);              if(buf[4]==12)              {                for(i=0;i<pool[turn].out_card_index;i++)                  if(pool[turn].out_card[i][1]==buf[5] &&                      pool[turn].out_card[i][2]==buf[6])                  {                    pool[turn].out_card[i][0]=12;                    pool[turn].out_card[i][4]=buf[5];                    pool[turn].out_card[i][5]=0;                  }                  draw_epk(buf[3],buf[4],buf[5],buf[6],buf[7]);              }              else              {               for(i=0;i<=3;i++)                pool[turn].out_card[pool[turn].out_card_index][i]=buf[i+4];              if(buf[4]==3 || buf[4]==11)              {                pool[turn].out_card[pool[turn].out_card_index][4]=buf[7];                pool[turn].out_card[pool[turn].out_card_index][5]=0;              }              else                pool[turn].out_card[pool[turn].out_card_index][4]=0;              draw_epk(buf[3],buf[4],buf[5],buf[6],buf[7]);              pool[turn].out_card_index++;              pool[turn].num-=3;              }              return_cursor();              break;            default:              break;          }          break;    default:      break;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -