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

📄 global.cpp

📁 数据采集
💻 CPP
📖 第 1 页 / 共 5 页
字号:
  }else{
    long tmp_ad;
    tmp_ad=(long)(*(p_buf_j2+offset)&0x7fff)*bd.k_j_z;
    tmp_ad=tmp_ad+(long)(*(p_buf_z2+offset)&0x7fff);
    return tmp_ad/2;
  }
}

long data_jz3(long offset)
{
  if(bd.hq_mode==HQ_NEWCPZ){
    long j5,j7,z3,t3;
    j5=  *(p_buf_j5+offset)&0x7fff;
    j7=  *(p_buf_j7+offset)&0x7fff;
    z3=  *(p_buf_z3+offset)&0x7fff;
    t3= (j5+j7)/2*bd.k_j_z + z3 ;
    return t3;
  }
  return 0;
}

long data_jz4(long offset)
{
  if(bd.hq_mode==HQ_NEWCPZ){
    long j6,j8,z4,t4;
    j6=  *(p_buf_j6+offset)&0x7fff;
    j8=  *(p_buf_j8+offset)&0x7fff;
    z4=  *(p_buf_z4+offset)&0x7fff;
    t4= (j6+j8)/2*bd.k_j_z + z4 ;
    return t4;
  }
  return 0;
}

// 该函数可取代 data_j1(long)....data_j8(long)
long data_j(int which_j,long offset)
{
  if(which_j>=16||which_j<0){ err("data_j()"); return 0L;}
  return (long)(*(p_buf_j[which_j]+offset)&0x7fff);
}


long data_j1(long offset)
{
  return (long)(*(p_buf_j1+offset)&0x7fff);
}
long data_j2(long offset)
{
  return (long)(*(p_buf_j2+offset)&0x7fff);
}
long data_j3(long offset)
{
  return (long)(*(p_buf_j3+offset)&0x7fff);
}
long data_j4(long offset)
{
  return (long)(*(p_buf_j4+offset)&0x7fff);
}
long data_j5(long offset)
{
  return (long)(*(p_buf_j5+offset)&0x7fff);
}
long data_j6(long offset)
{
  return (long)(*(p_buf_j6+offset)&0x7fff);
}
long data_j7(long offset)
{
  return (long)(*(p_buf_j7+offset)&0x7fff);
}
long data_j8(long offset)
{
  return (long)(*(p_buf_j8+offset)&0x7fff);
}


// 该函数可取代 data_z1(long)....data_z4(long)
long data_z(int which_z,long offset)
{
  // which_tm:0代表台面1
  return (long)(*(p_buf_z[which_z]+offset)&0x7fff);
}

long data_z1(long offset)
{
  return (long)(*(p_buf_z1+offset)&0x7fff);
}

long data_z2(long offset)
{
  return (long)(*(p_buf_z2+offset)&0x7fff);
}
long data_z3(long offset)
{
  return (long)(*(p_buf_z3+offset)&0x7fff);
}

long data_z4(long offset)
{
  return (long)(*(p_buf_z4+offset)&0x7fff);
}

CHAR get_key(void)
{
  /*
  LPMSG lpmsg;
  lpmsg=new MSG;

  //while(1){
    PeekMessage(lpmsg,0,0,0,PM_REMOVE);
    if((*lpmsg).message==WM_CHAR)
      return (char)((*lpmsg).wParam & (ULONG)0xff);
    else{
     TranslateMessage(lpmsg);
     return 0;
    }
  //}*/
  return 0;
}

void init_kg()
{
  k1=k2=k3=k4=0;
  for(int i=0;i<8;i++){
    kk1[i]=kk2[i]=kk3[i]=kk4[i]=0;
  }

  for(int i=0;i<KG_SIZE;i++){
    kg[i].k1=kg[i].k2=kg[i].k3=kg[i].k4=0;
    kg[i].who=0;
    kg[i].ofst=0;
  }
  for(int j=0;j<8;j++){
    for(int i=0;i<KG_SIZE;i++){
      kkg[j][i].k1=kkg[j][i].k2=kkg[j][i].k3=kkg[j][i].k4=0;
      kkg[j][i].who=0;
      kkg[j][i].ofst=0;
    }
  }

  k1_l=k1_h=k2_l=k2_h=k3_l=k3_h=k4_l=k4_h=0;
  for(int i=0;i<2;i++){
    state_1[i]=state_2[i]=state_3[i]=state_4[i]=0;
  }
  kg_now=0;
}

void clear_input_cehao()
{
  for(int i=0;i<MAX_CE;i++){
     input_cehao[i]="";
     input_clh[i]="";
  }
  //input_lch="";
}

void mem_reset()
{
  if(bd.hq_mode==HQ_CPZ24){
    for(int i=0;i<16;i++){
      /*
      char str[100];
      sprintf(str,"%d  %p",i,p_buf_j[i]);
      err(str);
      */
      memset((char*)p_buf_j[i],0,BUF_SIZE*sizeof(*p_buf_j[0]));
    }
    for(int i=0;i<8;i++){
      memset((char*)p_buf_z[i],0,BUF_SIZE*sizeof(*p_buf_z[0]));
    }
  }else{
    memset((char*)p_buf_j1,0,BUF_SIZE*sizeof(*p_buf_j1));
    memset((char*)p_buf_j2,0,BUF_SIZE*sizeof(*p_buf_j2));
    memset((char*)p_buf_j3,0,BUF_SIZE*sizeof(*p_buf_j3));
    memset((char*)p_buf_j4,0,BUF_SIZE*sizeof(*p_buf_j4));
    memset((char*)p_buf_j5,0,BUF_SIZE*sizeof(*p_buf_j5));
    memset((char*)p_buf_j6,0,BUF_SIZE*sizeof(*p_buf_j6));
    memset((char*)p_buf_j7,0,BUF_SIZE*sizeof(*p_buf_j7));
    memset((char*)p_buf_j8,0,BUF_SIZE*sizeof(*p_buf_j8));
    memset((char*)p_buf_z1,0,BUF_SIZE*sizeof(*p_buf_z1));
    memset((char*)p_buf_z2,0,BUF_SIZE*sizeof(*p_buf_z2));
    memset((char*)p_buf_z3,0,BUF_SIZE*sizeof(*p_buf_z3));
    memset((char*)p_buf_z4,0,BUF_SIZE*sizeof(*p_buf_z4));
    memset((char*)kg,      0,KG_SIZE*sizeof(kg_struct));
  }
}

void write_log(char *msg)
{
  FILE *fd;
  LPSYSTEMTIME lpst=new SYSTEMTIME;

  if(lpst){
    char tmp[20];

    GetLocalTime(lpst);
    sprintf(tmp,"%04d%02d%02d_%02d%02d%02d  ",lpst->wYear,
      lpst->wMonth,lpst->wDay,lpst->wHour,lpst->wMinute,lpst->wSecond);

    if((fd=fopen(LOGFILE,"ab"))!=NULL){
      fwrite(tmp,strlen(tmp),1,fd);
      fwrite(msg,strlen(msg),1,fd);
      fflush(fd);
      fclose(fd);
    }
    delete lpst;
  }
}


bool alloc_mem()
{
  p_buf_z1=p_buf_z2=p_buf_z3=p_buf_z4=p_buf_z5=p_buf_z6=p_buf_z7=p_buf_z8=NULL;
  p_buf_j1=p_buf_j2=p_buf_j3=p_buf_j4=p_buf_j5=p_buf_j6=p_buf_j7=p_buf_j8=NULL;
  p_buf_j9=p_buf_j10=p_buf_j11=p_buf_j12=p_buf_j13=p_buf_j14=p_buf_j15=p_buf_j16=NULL;
  if((p_buf_z1=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z1),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_z2=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z2),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_z3=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z3),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_z4=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z4),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;

  if((p_buf_j1=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j1),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j2=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j2),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j3=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j3),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j4=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j4),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j5=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j5),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j6=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j6),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j7=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j7),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  if((p_buf_j8=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j8),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
  p_buf_z[0]=p_buf_z1;  p_buf_z[1]=p_buf_z2;
  p_buf_z[2]=p_buf_z3;  p_buf_z[3]=p_buf_z4;
  p_buf_j[0]=p_buf_j1;  p_buf_j[1]=p_buf_j2;
  p_buf_j[2]=p_buf_j3;  p_buf_j[3]=p_buf_j4;
  p_buf_j[4]=p_buf_j5;  p_buf_j[5]=p_buf_j6;
  p_buf_j[6]=p_buf_j7;  p_buf_j[7]=p_buf_j8;

  if(bd.hq_mode==HQ_CPZ24||bd.hq_mode==HQ_NEWBDG){
    if((p_buf_z5=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z5),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_z6=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z6),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_z7=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z7),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_z8=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_z8),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;

    if((p_buf_j9=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j9),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j10=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j10),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j11=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j11),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j12=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j12),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j13=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j13),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j14=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j14),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j15=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j15),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;
    if((p_buf_j16=(PUSHORT)VirtualAlloc(NULL,BUF_SIZE*sizeof(*p_buf_j16),MEM_COMMIT,PAGE_READWRITE))==FALSE)  return FALSE;

    p_buf_z[4]=p_buf_z5;  p_buf_z[5]=p_buf_z6;
    p_buf_z[6]=p_buf_z7;  p_buf_z[7]=p_buf_z8;

    p_buf_j[8]=p_buf_j9;    p_buf_j[9]=p_buf_j10;
    p_buf_j[10]=p_buf_j11;  p_buf_j[11]=p_buf_j12;
    p_buf_j[12]=p_buf_j13;  p_buf_j[13]=p_buf_j14;
    p_buf_j[14]=p_buf_j15;  p_buf_j[15]=p_buf_j16;
  }
    /*
    for(int i=0;i<16;i++){
      char str[100];
      sprintf(str,"%d  %p",i,p_buf_j[i]);
      err(str);
    } */
  return TRUE;
}

int get_which_j_down(int wh_tm)
{
    int direct=donThread->direct;
    if(bd.hq_mode==HQ_NEWBDG){
      if(wh_tm==1){
          if(direct==R_L) return 1;
          else            return 2;
      }else if(wh_tm==2){
          if(direct==R_L) return 3;
          else            return 4;
      }else{
        err("  get_which_j_down   ");
      }
    }else{ // HQ_CPZ24
      if(wh_tm==1){
          if(direct==R_L) return 1;
          else            return 3;
      }else if(wh_tm==2){
          if(direct==R_L) return 2;
          else            return 4;
      }else if(wh_tm==3){
          if(direct==R_L) return 5;
          else            return 7;
      }else if(wh_tm==4){
          if(direct==R_L) return 6;
          else            return 8;
      }else if(wh_tm==5){
          if(direct==R_L) return 9;
          else            return 11;
      }else if(wh_tm==6){
          if(direct==R_L) return 10;
          else            return 12;
      }else if(wh_tm==7){
          if(direct==R_L) return 13;
          else            return 15;
      }else if(wh_tm==8){
          if(direct==R_L) return 14;
          else            return 16;
      }else{ err("  get_which_j_down   ");}
    }
    return 0;
}

int get_which_j_up(int wh_tm)
{
    int direct=donThread->direct;

    if(bd.hq_mode==HQ_NEWBDG){
      if(wh_tm==1){
          if(direct==R_L) return 2;
          else            return 1;
      }else if(wh_tm==2){
          if(direct==R_L) return 4;
          else            return 3;
      }else{
        err("  get_which_j_up   ");
      }
    }else{ // HQ_CPZ24

      if(wh_tm==1){
          if(direct==R_L) return 3;
          else            return 1;
      }else if(wh_tm==2){
          if(direct==R_L) return 4;
          else            return 2;
      }else if(wh_tm==3){
          if(direct==R_L) return 7;
          else            return 5;
      }else if(wh_tm==4){
          if(direct==R_L) return 8;
          else            return 6;
      }else if(wh_tm==5){
          if(direct==R_L) return 11;
          else            return 9;
      }else if(wh_tm==6){
          if(direct==R_L) return 12;
          else            return 10;
      }else if(wh_tm==7){
          if(direct==R_L) return 15;
          else            return 13;
      }else if(wh_tm==8){
          if(direct==R_L) return 16;
          else            return 14;
      }else{ err("  get_which_j_up   ");}
    }
    return 0;
}

int get_high_bt(int which_j,int ofst1,int ofst2)
{
    if(ofst1<0 || ofst2<0){/*err("ofst1<0 || ofst2<0");*/return 0;}
    if(bd.hq_mode==HQ_NEWBDG){
      if(which_j<1||which_j>4){ err("get_high_bt");return 0L;}
      return data_j(which_j-1,ofst1)-data_j(which_j-1,ofst2);
    }else{ // HQ_CPZ24
      if(which_j<1||which_j>16){ err("get_high_bt");return 0L;}
      return data_j(which_j-1,ofst1)-data_j(which_j-1,ofst2);
    }
      /*
      int tmp=0;
      if(     which_j==1) tmp=data_j1(ofst1)-data_j1(ofst2);
      else if(which_j==2) tmp=data_j2(ofst1)-data_j2(ofst2);
      else if(which_j==3) tmp=data_j3(ofst1)-data_j3(ofst2);
      else if(which_j==4) tmp=data_j4(ofst1)-data_j4(ofst2);
      else if(which_j==5) tmp=data_j5(ofst1)-data_j5(ofst2);
      else if(which_j==6) tmp=data_j6(ofst1)-data_j6(ofst2);
      else if(which_j==7) tmp=data_j7(ofst1)-data_j7(ofst2);
      else if(which_j==8) tmp=data_j8(ofst1)-data_j8(ofst2);
      return tmp;*/
}

long __fastcall js_ad(int whtm,int ofst1,int ofst2)
{
    // which_tm=0--8
    long t=0;
    for(int i=ofst1;i<ofst2;i++){
      t+=data_jz(whtm,i);
    }

    if(ofst2>ofst1) t/=(ofst2-ofst1);
    return t;
}

long __fastcall js_max(int whtm,int ofst1,int ofst2,int &xx)
{
    int max=data_jz(whtm,ofst1);
    for(int i=ofst1;i<ofst2;i++){
      if(data_jz(whtm,i)>max){
        max=data_jz(whtm,i);
        xx=i;
      }
    }
    return max;
}

long __fastcall js_min(int whtm,int ofst1,int ofst2,int &xx)
{
    int min=data_jz(whtm,ofst1);
    for(int i=ofst1;i<ofst2;i++){
      if(data_jz(whtm,i)<min){
        min=data_jz(whtm,i);
        xx=i;
      }
    }
    return min;
}

bool __fastcall  find_kg_up_new(int which_j,int from ,int to,short& dlt,long& retp )

⌨️ 快捷键说明

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