纸牌游戏设计制作《摸鱼2》(C语言)

news2024/11/27 14:42:27

纸牌游戏设计制作《摸鱼2》

此游戏设计属于简单的纸牌游戏,是儿童益智类游戏。适用于儿童的认知教育。
游戏规则极为简单,设置纸牌在界面上显示牌背的盲牌形式,点击牌背显示牌面找出相同的牌配对消牌。
这设置主要培养儿童的心理素质,在少儿心理的成长和发展阶段,逐步完善心理的感知和认知,意识和思维,注意力和记忆。盲牌形式主要培养记忆。
多玩游戏,在游戏中学习,对儿童少儿心理发展有所裨益。
此游戏可用于儿童心理辅导,培养儿童的注意力和短期记忆。
程序设置数字标示和动物图案标示,此设置能吸引儿童,提高游戏兴趣,达到培养目的。
程序只设置了2例图案,可另行增加图案。
扩展程序功能,如初级的明牌找配对,中级盲牌找配对,高级就增加难度,15对增加到25对找配对。
程序有游戏时间设置,有计分设置,此是游戏的考量。有点竞技的味道。

下面是纸牌游戏设计的通用部分:
shuffle_cards ( ){    //  洗牌设计       }
cardback ( ){    //发牌时隐藏牌面显示牌背图案    }
drawcard ( ){   //传入牌序号num转为牌点和牌花色,画出牌张     }
print_t ( ){   //打印标题提示等文字 
                     //**  参数:位置 sx ,  sy,字串 t$,文字尺寸 tsize }

我多年程序设计的方法就是崇尚简捷简洁,用最简单的语言写图形界面,设计最简单的算法达到程序要求。卡牌制作和文字显示可作为卡牌游戏程序的通用功能函数。程序设计提供了界面设计图案和文字显示方法,卡牌制作,洗牌设计和定位画出卡牌的方法。

程序设计的是手机界面,代码是用MySpringC编译器在安卓手机上编写的,简单的语言表述,设计思路适用于初学者。可制作成安卓手机桌面app应用程序。
程序提供了一个框架,VB ,  VS 或 JAVA  改写可作为参考。
此样例可复制粘贴到编译器直接使用。


//以下是源码:
//******************************************
//*    纸牌游戏《摸鱼 2》  Version   2.1.5        
//*    设计制作:张纯叔   ( micelu@126.com )  
//******************************************
Canvas cs ;       //画布
string sBarDes[10];
int nBarId[10];
float src[4];  //ClearDraw (cls) clear screen
string s,ss,ss0,ss1,ss2 ; 
string s1,s2,s3,s4,s5 ;      //print text
int sx,sy,dx,dy,px,py;      //draw
int i,j,n,t,k;    //t = times
int num;      //select card number
int pn ;        //发牌序号数
int dn,p1,p2,px1,py1,px2,py2 ;  
int pnum[54];    //洗牌后的牌序列(54张扑克牌)
int cardnum,cardstyle;   //牌点牌花色
string cas1,cas2,cas4;   //牌点牌花色图案$
string cas3,cas5 ;            //牌背花色, 下注图案
double Rn;    //random number
string t$;     //提示文字
int tsize;      //textsize
int c1,c2,c3,c4,c5,c6 ;
int isdo ;    //控制操作:  1 可操作 , 0 不可操作
int context;    //canvasProc
int obj;
int id;
int event;      //canvasProc
int kn ;
int fn[54];    //计分,可用于54张扑克牌
int tim[3];   //get Time & show finished time
 int thh,tmm,tss;
 int oldhh,oldmm,oldss;
 int newhh,newmm,newss;
 int mms;               //show using time
 string hhts,mmts,ssts;
 string ts,ts1,ts2;    
int round,rnn,total ;   //show score
int mode ;      //设置卡牌花色
string sx$[20] ;     //预设置纸牌图案
string sxa$[20] ;     //预设置纸牌图案

main(){
setDisplay(1);
  cs.SetBackground(0,120,0);
  cs.Active();
  cs.SetProc (context, mycanvasProc);
   sBarDes[0]="纸牌花色";
   nBarId[0]=100;
   sBarDes[1]="开始摸鱼 ";
   nBarId[1]=101;
   sBarDes[2]=" ";
   nBarId[2]=102;
   sBarDes[3]="  ";
   nBarId[3]=103;
   sBarDes[4]="退出程序";
   nBarId[4]=104;
   sBarDes[5]="📱" ;
   nBarId[5]=105;
   setToolBarHeight(6);
   setButtonTextSize(13);
   setToolBarBackgroundColor(255,0,120,0);
   setButtonColor(255,0,0,240);
   setButtonTextColor(255,255,255,0);
   setToolBar(100,myToolBarProc,sBarDes,nBarId,6);
  setTitle("纸牌游戏-摸鱼 2 ");
//**********
//**** 图案采用表情图案,
//**** VB,VC可采用icon图标或其他图片
      cas3="🐳";         //预设牌背图案
sx$[1]="🐭" ; sx$[2]="🐮" ; sx$[3]="🐯" ; sx$[4]="🐰" ;
sx$[5]="🐉" ; sx$[6]="🐍" ; sx$[7]="🦄" ; sx$[8]="🐑" ;
  sx$[9]="🐵" ; sx$[10]="🐓" ; sx$[11]="🐶" ;
sx$[12]="🐷" ; sx$[13]="🐋" ; sx$[14]="🐠" ;
sx$[15]="🐡" ;  
sxa$[1]="🍎" ; sxa$[2]="🍇" ; sxa$[3]="🍊" ; 
sxa$[4]="🍈" ; sxa$[5]="🍑" ; sxa$[6]="🍐" ; 
sxa$[7]="🍓" ; sxa$[8]="🍋" ; sxa$[9]="🍌" ;
sxa$[10]="🍉" ; sxa$[11]="🍏" ;
sxa$[12]="🍁" ; sxa$[13]="☘" ; 
sxa$[14]="🍂" ; sxa$[15]="🌿" ;  
      drawcover ();
      round=1 ;  total=0 ;    //start round
      isdo=0 ;
 while (){}
  }//main ()

e0873bcf5e434f5ca47cf6df8769931d.png

 

drawcover (){     // 画启动界面封面版本号
     cs.SetColor (255,0,120,0);  //back color
     cs.DrawRect (2,2,718,1030);
     cs.SetColor (255,0,250,0);
     cs.DrawRect (50,320,650,326);
     cs.SetColor (255,250,0,0);
     cs.DrawRect (52,322,648,324);
    px=300;    py=75;   //tiger
        num=3 ;   
        drawcard ();
     px=400;    py=75;   
        cardback ();
     px=500;    py=75;   
        num=3 ;   
        drawcard ();
      px=500;    py=185;   
         cardback ();
     t$=cas3 ;   //鲸鱼图
     cs.SetTextSize (120);
     cs.DrawText (t$,470,360);      
     t$="纸牌游戏" ;
     sx=100;   sy=160;   tsize=60;
     print_t ();
     t$="摸 鱼" ;
     sx=100;   sy=260;   tsize=80;
     print_t ();
     t$="( 记忆培养 )" ;
     sx=250;   sy=260;   tsize=40;
     print_t ();
     t$="欢迎加入纸牌游戏团" ;
     sx=135;   sy=440;   tsize=50;
     print_t1 ();
     cs.SetTextStyle (0);    //0正常,1粗体
     ss="@Copyright  v. 2 . 1 . 5    micelu@126.com ";
     cs.SetTextSize (22);
     cs.SetColor (255,250,250,250);
     cs.DrawText (ss,50,360);      
     cs.Update ();
     isdo=0 ;
}//drawcover ()

mycanvasProc (int context,int obj,int id,int event,float x,float y){
       if (isdo==0) return ;
  if (event==0){ //get  touch select 2 pieces
            kn=kn+1;
            if (kn>2) kn=1 ;       
  //** get piece position X Y to select cards
     dx=(int)((x+50)/100) ;     //纸牌排列坐标
     dy=(int)((y+100)/110) ;
  if (dx<1) dx=1 ;
  if (dx>6) dx=6 ;    //防越界
  if (dy<2) dy=2 ;
  if (dy>6) dy=6 ;    //防越界
         pn= (dy-2)*6+dx-1;    //还原牌序号
         num=pnum[pn] ;
         px=(dx-1)*105+50 ;    //调整画牌left,top
         py=(dy-2)*120+100;
                drawcard () ;       //显示牌面
                  sleep (500) ;
                cardback () ;         //显示牌背
   // cs.SetColor (255,0,220,0);  //clear text
  //  cs.DrawRect (0,840,450,870);  //test
    // cs.SetTextSize (24);
    if ( fn[num]==1){         
        //cs.SetColor (255,250,250,0);
      //  s1="fn = "+intToString (fn[num] ) ;     
         //cs.DrawText (s1,50,860);   
     cs.SetColor (255,0,120,0);  // 覆盖已消牌
      cs.DrawRect (px,py,px+100,py+110);          }
                   }      //do event

         cs.SetFillMode (1);
    cs.SetTextStyle (0);    //0正常,1粗体
    cs.SetColor (255,0,120,0);  //clear
    cs.DrawRect (0,0,720,80);
        t$=ts ;    //start time
        sx=15;   sy=40;   tsize=24;
            print_t ();   
        t$="第 "+intToString (round)+" 局" ;    
        sx=260;   sy=40;   tsize=30;
            print_t ();   
        s=intToString(dn);
        t$="得分: "+s+ " 分" ;    
        sx=520;   sy=40;   tsize=30;
            print_t ();   
        t$=intToString (total) ;    
        sx=390;   sy=40;   tsize=30;
            print_t ();   
       cs.Update () ;
       catchit () ;   //找配对
 }//mycanvasProc ()

192a2baaf09244dba2d7ad03a337717a.png

 

catchit (){    //找配对
      if (kn==1){
         pn= (dy-2)*6+dx-1;    //还原牌序号
         num=pnum[pn] ;
         p1=num ;
         c1=(num-num/15*15) ;
         px=(dx-1)*105+50 ;    //调整画牌left,top
         py=(dy-2)*120+100;
         px1=px ;   py1=py ;     }

     if (kn==2){
         pn= (dy-2)*6+dx-1;    //还原牌序号
         num=pnum[pn] ;
         p2=num ;
         c2=(num-num/15*15) ;
         px=(dx-1)*105+50 ;    //调整画牌left,top
         py=(dy-2)*120+100;
         px2=px ;   py2=py ;      }

   if (p1>p2||p1<p2&&c1==c2){
       cs.SetColor (255,0,120,0);  //擦除配对牌
            fn[p1]=1 ;    //消牌计分编码
            fn[p2]=1 ;
     cs.DrawRect (px1,py1,px1+100,py1+110);
     cs.DrawRect (px2,py2,px2+100,py2+110);
     cs.Update () ;      
             }
 
     dn=0 ;      //计分
     for (k=0;k<30;k++){ 
            if (fn[k]==1) dn=dn+2 ;         }
 //游戏任务完成,完成 1 局计 1000 分
     total=(round-1)*1000+dn ;      
     if (dn==60) {   //finished游戏完成计时计分
         t$="摸鱼完成  🐳" ;
         sx=140;   sy=360;   tsize=80;
         print_t ();   
    cs.SetColor(255,0,120,0); 
    cs.DrawRect (4,4,718,60);  // clear print x y
        t$=ts ;    //开始时间
        sx=30;   sy=40;   tsize=24;
            print_t ();   
        t$="第 "+intToString (round)+" 局" ;    
        sx=260;   sy=40;   tsize=30;
            print_t ();   
        total= round*1000 ;      
        t$=intToString (total) ;    
        sx=390;   sy=40;   tsize=30;
            print_t ();   
        s=intToString(dn);
        t$="得分: "+s+ " 分" ;    
        sx=520;   sy=40;   tsize=30;
            print_t ();   
     showtimes () ;   //finished & show times
         t$=ts1 ;
         sx=200;   sy=460;   tsize=40;
             print_t ();   
         t$=ts2 ;
         sx=200;   sy=500;   tsize=40;
             print_t ();   
         round=round+1 ;
         isdo=0 ;     }    //finished

}//catchit ()

shuffle_cards (){    //洗牌设计
     cs.SetColor (255,0,120,0);   //backcolor
     cs.DrawRect (2,2,718,1000);
     cs.Update ();
      for (i=0;i<30;i++){ pnum[i]=0 ;  fn[i]=0 ;  }
      pn=0;  
//**** 洗牌 **********************
      t$="游戏开始 >>>   洗牌   开始摸鱼 " ;
      sx=50;   sy=50;    tsize=30;
      print_t ();
  for (i=0;i<30;i++){    //洗牌
      ResetPiece:        //已生成牌有相同则重新生成
      Rn=random()*30;       //随机洗牌
             num=(int )(Rn) ;
             pnum[i]=num ;
         for (k=0;k<i; k++){
         if (num==pnum[k]) goto ResetPiece ;        }
                    }

   for (k=0;k<30;k++){  //显示牌背面图案
        px=(k-k/6*6)*100+50 ;
        py=k/6*120+100;
  //cardback ();  //洗牌后可显示牌背或不显示
  //num=pnum[k] ;
  //drawcard ();  //用于洗牌查验测试,游戏时注释掉
          }
 }//shuffle_cards ()

c939791af97e4c109568ba1f83108a89.png

057a7d7020ae466b98c866d9d2033fd4.png 

 

start (){    //开始游戏
      cs.SetColor (255,0,120,0);   //backcolor
      cs.DrawRect (2,2,718,1000);
        t$="纸牌游戏 >>     开始摸鱼" ;
        sx=50;   sy=50;   tsize=30;
        print_t ();
    for (k=0;k<30;k++){  //显示牌面或牌背
        num=pnum[k] ;
        px=(k-k/6*6)*105+50;
        py=k/6*120+100;
        //drawcard () ;     //明牌显示初级游戏操作
        cardback () ;         //暗牌显示牌背记忆培养
                 }

           dn=0 ;   //计分数 ,  init
           isdo=1 ;
  getTime (tim);      //取得系统时间
       oldhh=tim[0];
       oldmm=tim[1];
       oldss=tim[2];
   hhts=intToString (tim[0]);
   mmts=intToString (tim[1]);
   ssts=intToString (tim[2]);
   if (oldhh<10)hhts="0"+hhts;   //格式化显示
   if (oldmm<10)mmts="0"+mmts;
   if (oldss<10)ssts="0"+ssts;
       ss2=hhts+" : "+mmts+" : "+ssts;
   ts="开始 >  "+ss2;   //show start time
}//start ()

071f927d0aa242c793b49ed0bcc3dc66.png

 

drawcard (){  //num 转换 cardnum 画卡牌
//传入牌序号num转为牌点,传入px,py 画出牌张
//此为游戏通用设置,启动界面画牌
    //**** draw cards 圆角 ****
      cs.SetColor (255,0,200,0);  //选色  框线
      cs.DrawRect (px+5,py,px+93,py+107);
      cs.DrawRect (px,py+5,px+98,py+101);
      cs.DrawCircle (px+5,py+5,5);
      cs.DrawCircle (px+5,py+102,5);
      cs.DrawCircle (px+92,py+5,5);
      cs.DrawCircle (px+92,py+102,5);

      cs.SetColor (255,250,250,250);  //牌面白色
      cs.DrawRect (px+7,py+2,px+91,py+106);
      cs.DrawRect (px+1,py+7,px+96,py+100);
      cs.DrawCircle (px+6,py+7,5);
      cs.DrawCircle (px+6,py+101,5);
      cs.DrawCircle (px+91,py+7,5);
      cs.DrawCircle (px+91,py+101,5);
     //******* 画出牌面
        cardnum=(num-num/15*15);
        if (cardnum==0) cardnum=15;
        cas1=intToString(cardnum);
        cs.SetTextSize (30);
     n=0;
     if (cardnum>9) n=10;           
      cs.SetColor (255,250,0,0);  //牌面数字
     cs.DrawText (cas1,px+40-n,py+30);
        cs.SetTextSize (50);    //牌面2例图案
     if (mode==0) cas4=sx$[cardnum] ;
     if (mode==1) cas4=sxa$[cardnum] ;
     cs.DrawText (cas4,px+20,py+80);

         if (fn[num]==1) {
      cs.SetColor (255,0,120,0);  //擦除已配对牌张
      cs.DrawRect (px,py,px+100,py+110);   }    
          cs.Update ();
}//drawcard ()

showcards (){     //测试显示纸牌图案
     cs.SetColor (255,0,120,0);   //backcolor
      cs.DrawRect (2,2,718,1000);
        t$="纸牌游戏 >>     画牌验牌 " ;
        sx=50;   sy=50;   tsize=30;
        print_t ();
    for (k=0;k<30;k++){  //显示牌面或牌背
          num=k ;       
          px=(k-k/6*6)*105+50;
          py=k/6*120+100;
          drawcard () ;   
                 }
     cs.Update ();
}//showcards ()

cardback (){   //draw cards back picture
//发牌时隐藏牌面显示牌背图案
   // if (num==-1) return ;
    //**** draw cards 圆角 ****
      cs.SetColor (255,0,200,0);  //选色  框线
      cs.DrawRect (px+5,py,px+93,py+107);
      cs.DrawRect (px,py+5,px+98,py+101);
      cs.DrawCircle (px+5,py+5,5);
      cs.DrawCircle (px+5,py+102,5);
      cs.DrawCircle (px+92,py+5,5);
      cs.DrawCircle (px+92,py+102,5);

      cs.SetColor (255,220,180,20);  //牌背色
      cs.DrawRect (px+7,py+2,px+91,py+106);
      cs.DrawRect (px+1,py+7,px+96,py+100);
      cs.DrawCircle (px+6,py+7,5);
      cs.DrawCircle (px+6,py+101,5);
      cs.DrawCircle (px+91,py+7,5);
      cs.DrawCircle (px+91,py+101,5);
 
      cs.SetTextSize(50);   //显示牌背图案
      cs.DrawText (cas3,px+20,py+70);  // 背花
      cs.Update ();
}//cardback ()

showtimes (){    //计算使用时间
      getTime (tim);
      newhh=tim[0];
      newmm=tim[1];
      newss=tim[2];
      hhts=intToString (tim[0]);
      mmts=intToString (tim[1]);
      ssts=intToString (tim[2]);
      if (newhh<10)hhts="0"+hhts;
      if (newmm<10)mmts="0"+mmts;
      if (newss<10)ssts="0"+ssts;
 mms=((newhh-oldhh)*3600)+
        ((newmm-oldmm)*60)+((newss-oldss));    
    if (mms<0) mms=mms+864000;
        thh=mms/3600;
        tmm=(mms-thh*2600)/60;
        tss=mms-thh*3600-tmm*60;
 ss1=intToString (tmm)+" 分  "+intToString (tss)+" 秒";
 ss2=hhts+" : "+mmts+" : "+ssts;
      ts1= "完成 >  "+ss2;      //输出
      ts2= "用时 >   "+ss1;     //输出
 }//showtimes ()

set_mode (){    //设置2种纸牌花色,切换
       mode=mode+1 ;  
  if (mode>1) mode=0 ;
      cs.SetColor (255,0,120,0);   //backcolor
      cs.DrawRect (2,2,718,1000);
        t$="纸牌游戏 >>     选择卡牌花色" ;
        sx=50;   sy=50;   tsize=30;
        print_t ();
    for (k=0;k<30;k++){    //显示卡牌花色
        px=(k-k/6*6)*105+50;
        py=k/6*120+110;
        num=k ;       //洗牌后 pnum[k] ;
        drawcard () ;
              }
}//set_mode ()

print_t (){   //打印标题提示等文字
//**  参数 sx,sy, ss0=$, tsize=text size   
 cs.SetFillMode (1);//0不填色,1填色
    cs.SetTextStyle (0);    //0正常,1粗体
 cs.SetTextSize (tsize);
    cs.SetColor (255,0,200,60);
 cs.DrawText (t$,sx+2,sy+3);
    cs.SetColor (255,250,120,0);
 cs.DrawText (t$,sx,sy);
 cs.SetFillMode (0);//0不填色,1填色
    cs.SetColor (255,250,250,0);
 cs.DrawText (t$,sx,sy);
 cs.SetFillMode (1);//0不填色,1填色
      cs.Update ();
}//print _t ()

print_t1 (){   //打印标题提示等文字
//**  参数 sx,sy, ss0=$, tsize=text size   
  cs.SetFillMode (1);//0不填色,1填色
    cs.SetTextStyle (1);    //0正常,1粗体
  cs.SetTextSize (tsize);
    cs.SetColor (255,0,20,100);
 cs.DrawText (t$,sx+3,sy+4);
    cs.SetColor (255,0,250,0);
 cs.DrawText (t$,sx,sy);
 cs.SetFillMode (0);//0不填色,1填色
    cs.SetColor (255,250,0,0);
 cs.DrawText (t$,sx,sy);
 cs.SetFillMode (1);//0不填色,1填色
      cs.Update ();
}//print _t1 ()

myToolBarProc(int nBtn,int nContext){
      if(nBtn==100){// 卡牌花色
           setDisplay (1);
           set_mode () ;
              }  
      if(nBtn==101){// 开始摸鱼
           setDisplay (1);
           shuffle_cards () ;    //洗牌
           start () ;                    //开始
               }
      if(nBtn==102){//
            setDisplay (1);
            //test ****
          // shuffle_cards () ;    //洗牌
           //showcards () ;     
                }
      if(nBtn==103){//
           setDisplay (1);
                }
      if(nBtn==104){//退出程序
          clearOutput();
          cs.ClearDraw (0,src);
          setDisplay (0);
          exit (0);
               }
     if(nBtn==105){//@About
            setDisplay (1);
            drawcover ();
                 }
}//myToolBar ()


//纸牌游戏《摸鱼 2》V.2.1.0   设计制作
// 2022年10月20日完成于上海

 

//**** End ****

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino WIFI智能小车 无线视频遥控小车(论文+程序+原理图+驱动+安装手册等)

目录 一、项目产生的背景分析 2 1.1项目想法 2 1.2用户将如何从产品中获益 2-3 二、方案设计 3 2.1小车整体系统 2-3 2.2小车部件介绍 3-5 三、小车组装 6 3.1小车配件购置 6 3.2小车部件组装 7-10 3.3小车程序代码的调试 11 3.3.1小车驱动安装 11 3.3.2小车编程环境&#xff0…

K线形态识别_倒锤头线和射击之星(流星、扫帚星)

写在前面&#xff1a; 1. 本文中提到的“K线形态查看工具”的具体使用操作请查看该博文&#xff1b; 2. K线形体所处背景&#xff0c;诸如处在上升趋势、下降趋势、盘整等&#xff0c;背景内容在K线形态策略代码中没有体现&#xff1b; 3. 文中知识内容来自书籍《K线技术分析》…

R语言—基本统计分析

文章目录基本统计分析1基本方法summary()函数apply()函数lapply()函数sapply()函数2.常见的描述指标标准误binom.test (二项分布精确检验)变异系数极差偏度系数&#xff08;skewness&#xff09;3分组计算描述性统计量aggregate()函数by()函数频数表和列联表列联表生成频数表一…

STM32F103VET6基于STM32CubeMX创建定时器中断控制LED闪烁

STM32F103VET6基于STM32CubeMX创建定时器中断控制LED闪烁&#x1f33c;STM32CubeMX配置界面演示 ⚡需求是通过定时器1来控制LED灯1s亮灭。 &#x1f4cc;工程分为两部分组成&#xff1a;STM32CubeMX创建并配置工程和业务代码完善 &#x1f341;STM32CubeMX创建并配置工程 1.…

用Python实现的这五个小游戏,你真的学会了嘛?

游戏名称1、五子棋 2、雷霆战机 3、贪吃蛇 4、坦克大战 5、俄罗斯方块 开发环境 Python版本&#xff1a;3.6.4 相关模块&#xff1a; pygame模块&#xff1b; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量&#xff0c;pip安装需要的相关模块即可。 一&am…

【博学谷学习记录】超强总结,用心分享|Hive表生成函数

文章目录explode函数Array类型数据演示演示数据创建一张包含array类型的表插入表数据查询验证使用explode查询Map 类型数据演示演示数据创建一张包含map类型的表加载表数据查询验证使用explode查询later view侧视图关键字演示数据创建表并加载数据查询验证使用lateral view查询…

JVM 面试速记

JVM结构图 类加载器 Bootstrap Class Loader 启动类加载器 C Extension Class Loader 扩展类加载器 java Application Class Loader 应用程序加载器 启动类加载器 只加载包名为java,javax,sun开头的类 扩展类加载器负责加载JAVA_HOME/lib/ext目录的下的类&#xff0c;开发…

R包WGCNA---转录组WGCNA共表达网络构建(基本概念)

R包WGCNA---转录组WGCNA共表达网络构建&#xff08;基本概念&#xff09;1. WGCNA简介2. WGCNA分析原理&#xff08;1&#xff09;R包WGCNA的主要功能&#xff08;2&#xff09;WGCNA的基本概念和工作流程&#xff08;3&#xff09;WGCNA分析的常见问题及注意事项1. WGCNA简介 …

嵌入式开发-STM32硬件I2C驱动OLED屏

嵌入式开发-STM32硬件I2C驱动OLED屏 I2C简介 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 主器件用于启动总线传送数据&#xff0c;并产生时钟以开放传送的器件&#xff0c;此时任何被寻址的器件均…

zlMediaKit 10 http相关

HttpRequestSplitter.h HttpRequestSplitter 结构 ssize_t _content_len 0;size_t _remain_data_size 0;toolkit::BufferLikeString _remain_data;input 上次还有剩余的数据&#xff0c;就把这次的数据和上次的数据接上。 分包&#xff1a; const char *ptr data;if(!_re…

大数据之Hive(二)

文章目录前言一、Hive数据库和表操作&#xff08;一&#xff09;数据库操作1. 创建数据库2. 删除数据库&#xff08;二&#xff09;数据表操作1. 内部表和外部表的操作1.1 内部表操作1.2 外部表操作2. 复杂类型操作2.1 Array类型2.2 map类型2.3 struct类型前言 #博学谷IT学习技…

【数据结构与算法】二叉排序树平衡二叉树哈夫曼树

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;数据结构与算法 &#x1f320; 首发时间&#xff1a;2022年11月7日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43e;…

Oracle 处理json数据

文章目录备注:一. Json数据存储二. Json数据insert三. json数据update四. json数据查询五. 常用的json函数5.1 json_array5.2 JSON_ARRAYAGG5.3 JSON_DATAGUIDE5.4 JSON_MERGEPATCH5.5 JSON_OBJECT5.6 JSON_OBJECTAGG5.7 JSON_QUERY5.8 json_serialize5.9 JSON_TABLE5.10 JSON_…

作为前端还在使用GIF动画吗?换一种更优雅的方案吧

Web-Editor 前言 动画需求在业务开发中是很常见的功能&#xff0c;无论是客户端开发、Web 开发、还是桌面端开发&#xff0c;为了产品有更好的用户体验&#xff0c;UED 设计的视觉效果也愈发的复杂&#xff0c;一般些简单的淡入淡出&#xff0c;旋转效果开发花费些时间即可搞…

三只松鼠,“跑”不动了?

【潮汐商业评论/ 原创】 编辑部的Lisa是个典型的吃货&#xff0c;而坚果零食绝对是她的心头好。用她的话来说“坚果提供优质脂肪&#xff0c;每天吃点&#xff0c;解馋又健康啊。” 而作为网红坚果零食“开山鼻祖”之一的三只松鼠&#xff0c;最近的日子似乎并不好过。 近日…

阿里云SLB之:基于HTTPS协议的SLB应用场景(十二)

文章目录 1.配置域名解析2.配置HTTPS协议类型的SLB七层负载2.1.点击监听配置向导2.2.配置负载均衡类型2.3.设置负载均衡算法2.4.设置域名使用的SSL证书2.5.设置后端虚拟服务器组2.6.开机健康检查2.7.审核配置完成创建3.配置HTTP强转HTTPS4.配置ECS中的Nginx支持HTTPS协议5.通过…

文件传输协议

1、FTP 文件传送协议FPT&#xff08;File Transfer Protocol&#xff09;是互联网上使用的最广泛的文件传输协议。FTP提供交互式访问&#xff0c;允许客户指明文件的类型与格式&#xff0c;并允许文件具有存取权限&#xff08;如访问文件的用户必须经过授权&#xff0c;如输入有…

pg故障修复记录

一个线上实例&#xff0c;用户数据大概300g 400g的样子&#xff0c;由于用户自己修改了最大连接数&#xff0c;超过了我们设置的合理范围&#xff0c;导致自动恢复失败&#xff0c;现在需要我们手动搭建起来新的主从关系。 但是在搭建的过程中&#xff0c;出现了两个比较麻烦的…

我用python分析买房数据

首先说明&#xff0c;这是一篇技术文章。 明年打算买房&#xff0c;媳妇这段时间总去看房子&#xff0c;这种状态持续了两个月&#xff0c;最近终于消停了。现在整个市场不明朗&#xff0c;我们也不确定换到哪里。不如先整理点数据&#xff0c;至少能监控一些区域价格&#xf…

Vue利用flex布局实现TV端城市列表

Vue利用flex布局实现TV端城市列表 vue中城市列表和搜索很常见&#xff0c;这篇博客就来说说咋实现搜索和城市列表 1.实现搜索布局代码&#xff1a; <div class"search-bar"><input class"search-input" v-model"citySearchResult" :…