龟兔再跑

欢迎来到程序小院

龟兔再跑

玩法:乌龟跳绳,点击鼠标左键乌龟跳跃,两只乌龟一直不停的甩绳子,另外一只乌龟从中跳过,赶快去跳绳吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/255

html

<div class="main" id="mainId">
 <div class="sence sence0" id="sence0Id"></div>
 <div class="sence sence1" id="sence1Id">
        <div class="rabbitFront">
         <img src="images/rabbit1.png">
            <div class="rabbitHand">
            <!--<img src="images/hand1.png" id="rabbitHandId" />-->
            </div>
        </div>
        <div class="jumpLineCtxBox" id="jumpLineCtxBoxId">
            <div class="jumpLineImg">
             <img src="images/line0.png" id="line0Id" style="z-index:5;">
                <img src="images/line1.png" id="line1Id" style="z-index:5;">
                <img src="images/line2.png" id="line2Id" style="z-index:5;">
                <img src="images/line3.png" id="line3Id" style="z-index:5;">
                <img src="images/line4.png" id="line4Id" style="z-index:5;">
                <img src="images/line5.png" id="line5Id">
                <img src="images/line6.png" id="line6Id">
                <img src="images/line7.png" id="line7Id">
                <img src="images/line8.png" id="line8Id">
                <img src="images/line9.png" id="line9Id">
                <img src="images/line10.png" id="line10Id">
                <img src="images/line11.png" id="line11Id">
                <img src="images/line12.png" id="line12Id">
                <img src="images/line13.png" id="line13Id">
                <img src="images/line14.png" id="line14Id">
                <img src="images/line15.png" id="line15Id" style="z-index:5;">
                <img src="images/line16.png" id="line16Id" style="z-index:5;">
                <img src="images/line17.png" id="line17Id" style="z-index:5;">
                <img src="images/line18.png" id="line18Id" style="z-index:5;">
                <img src="images/line19.png" id="line19Id" style="z-index:5;">
            </div>
        </div>
        <div class="rabbitBack">
            <img src="images/rabbit2.png">
        </div>
        <div class="tortoiseBox" id="tortoiseBoxId">
         <div class="tortoise1" id="tortoise1Id" style="display: none;">
             <img src="images/tortoise_f1.png" id="tortoise1_loseId">
                <img src="images/tortoise_n1.png" id="torroise1_waitId">
                <img src="images/tortoise_n1.png" id="torroise1_walk1Id">
                <img src="images/tortoise_w1.png" id="torroise1_walk2Id">
                <img src="images/tortoise_up1.png" id="torroise1_jumpId">
            </div>
            
            <div class="tortoise2" id="tortoise2Id" style="display: none;">
             <img src="images/tortoise_f2.png" id="tortoise2_loseId">
                <img src="images/tortoise_n2.png" id="torroise2_waitId">
                <img src="images/tortoise_n2.png" id="torroise2_walk1Id">
                <img src="images/tortoise_w2.png" id="torroise2_walk2Id">
                <img src="images/tortoise_up2.png" id="torroise2_jumpId">
            </div>
            
            <div class="tortoise3" id="tortoise3Id" style="display: none;">
             <img src="images/tortoise_f3.png" id="tortoise3_loseId">
                <img src="images/tortoise_n3.png" id="torroise3_waitId">
                <img src="images/tortoise_n3.png" id="torroise3_walk1Id">
                <img src="images/tortoise_w3.png" id="torroise3_walk2Id">
                <img src="images/tortoise_up3.png" id="torroise3_jumpId">
            </div>
            
            <div class="tortoise4" id="tortoise4Id" style="display: none;">
             <img src="images/tortoise_f4.png" id="tortoise4_loseId">
                <img src="images/tortoise_n4.png" id="torroise4_waitId">
                <img src="images/tortoise_n4.png" id="torroise4_walk1Id">
                <img src="images/tortoise_w4.png" id="torroise4_walk2Id">
                <img src="images/tortoise_up4.png" id="torroise4_jumpId">
            </div>
        </div>
        <div class="scoreBox" id="scoreBoxId">
         <img src="images/0.png">
            <img src="images/1.png" class="display_no">
            <img src="images/2.png" class="display_no">
            <img src="images/3.png" class="display_no">
            <img src="images/4.png" class="display_no">
            <img src="images/5.png" class="display_no">
            <img src="images/6.png" class="display_no">
            <img src="images/7.png" class="display_no">
            <img src="images/8.png" class="display_no">
            <img src="images/9.png" class="display_no">
        </div>
        <!--文字提示-->
        <div class="bannerText">
         <div class="text">
             点击手机控制乌龟跳绳
            </div>
        </div>        
        <div class="ctrlBox" id="ctrlBoxId">
        </div>        
    </div>
    <div class="sence sence2" id="sence2Id" style="opacity: 0; display: none; z-index: -1;">
     <div class="gameEndBox">
         <img src="images/end.png">
        </div>
     <div class="mark"><span id="markId">
         <img src="images/0.png">
        </span></div>
        
        <div class="btn restartBtn" id="restartBtnId">
         <img src="images/btn_1.png">
        </div>
        <div class="btn shareBtn" id="shareBtnId">
   <img src="images/btn_2.png">
        </div>
        
        <div class="btn paihangBtn" id="paihangBtnId">
   <img src="images/btn_3.png">
        </div>
    </div>
</div>

css

  input{
    outline: none;
    resize: none;
    -webkit-appearance: none;
  }
  img{
  border:none; vertical-align:middle;}
  .left{float:left;}
  .right{float:right;}
  .clear{clear:both;}
  .aleft{text-align:left;}
  .aright{text-align:right;}
  .acenter{text-align:center;}
  .h10{height:10px;}
  .h20{height:20px;}
  .h30{height:30px;}
  .h60{height:60px;}

  .w20{width:20px;}
  .w40{width:40px;}
  .w60{width:60px;}
  .w80{width:80px;}
  .w120{width:120px;}
  .w160{width:160px;}
  .w170{width:170px;}
  .w180{width:180px;}
  .w200{width:200px;}
  .w240{width:240px;}
  .w260{width:260px;}
  .w270{width:270px;}
  .w280{width:280px;}
  .w320{width:320px;}
  .w360{width:360px;}
  .w400{width:400px;}
  .w440{width:440px;}
  .w480{width:480px;}
  .w30pe{width:30%;}
  .w40pe{width:40%;}
  .w100pe{width:100%;}

  .f08{font-size:0.8em}
  .f12{font-size:1.2em}
  .f14{font-size:1.4em;}
  .f16{font-size:1.6em;}
  .f24{font-size:2em;}

  .display_yes{display:block;}
  .display_no{display:none;}

  p{
    margin:10px 0;
    padding:0;
  }

  .p_indent{
    text-indent:24px;
  }

  .no_wrap{white-space:nowrap;}

  .ml_10{margin-left:10px;}
  .ml_20{margin-left:20px;}

  .mr_10{margin-right:10px;}
  .mr_20{margin-right:20px;}

  .mt_10{margin-top:10px;}
  .mt_20{margin-top:20px;}

  .mb_10{margin-bottom:10px;}
  .mb_20{margin-bottom:20px;}

  .ma_10{margin:10px;}
  .ma_20{margin:20px;}

  .pl_10{padding-left:10px;}
  .pl_20{padding-left:20px;}

  .pr_10{padding-right:10px;}
  .pr_20{padding-right:20px;}
  .pr_p1{padding-right:1%;}

  .pt_10{padding-top:10px;}
  .pt_20{padding-top:20px;}

  .pb_10{padding-bottom:10px;}
  .pb_20{padding-bottom:20px;}

  /*under line yes*/
  .underline_yes{text-decoration:underline;}

  /*under line no*/
  .underline_no{text-decoration:none;}

  .f_black{color:#000;}
  .f_white{color:#fff;}
  .f_blue{color:#069;}
  .f_red{color:#c00;}
  .f_green{color:#006600;}
  .f_yellow{color:#9d882a;}
  .f_pink{color:#fedbce;}
  .f_light_gray{color:#999;}
  .f_brown{color:#231815;}
  .f_orange{color:#f29600;}

js

var gameInfo=function(){
 this.score=0;//游戏得分
 this.timer=0;//游戏计时
 this.state=0;//0就绪,1进行中,2结束
 this.hp=0;//允许被绊倒的次数
 this.tortoiseInfo=-1;//-1未就绪,0乌龟就绪,1乌龟进入跳绳,2乌龟准备跳绳,3乌龟通过了,4乌龟被绊倒了
 this.nowTortoise=0;//当前乌龟
 this.waitTortoise=0;//下一只乌龟
 this.outTortoise=0;//离开的乌龟
 this.walkState=0;//0停止走路,1走路中
}
var gameInfoTemp;
var tortoiseInfoRightPositon={
 1:['-24%','-10%','40%'],
 2:['-21%','-11.2%','38.8%'],
 3:['-27.3%','-15.3%','33.7%'],
 4:['-21%','-11.2%','38.8%']
};
function initGame(){
 resetTortoise();
 document.getElementById('sence2Id').style.opacity='0';
 document.getElementById('sence0Id').style.display='block';
 document.getElementById('sence0Id').style.opacity='1';
 document.getElementById('sence0Id').style.zIndex=1
 if(!GetParam('restart')){
  loadingBox.style.opacity='0';
 }
 document.getElementById('sence0Id').style.opacity='1';
 setTimeout(function(){
  if(!GetParam('restart')){
   loadingBox.style.display='none';
  }
  document.getElementById('sence2Id').style.display='none';
  document.getElementById('sence2Id').style.zIndex=-1;
 },500);
 gameInfoTemp=new gameInfo;
 gameInfoTemp.score=0;//游戏得分
 gameInfoTemp.timer=0;//游戏计时
 gameInfoTemp.state=0;//0就绪,1进行中,2结束
 gameInfoTemp.hp=0;//允许被绊倒的次数
 gameInfoTemp.tortoiseInfo=-1;//-1未就绪,0乌龟就绪,1乌龟进入跳绳,2乌龟准备跳绳,3乌龟通过了,
  4乌龟被绊倒了
 gameInfoTemp.nowTortoise=0;//当前乌龟
 gameInfoTemp.waitTortoise=0;//下一只乌龟
 gameInfoTemp.outTortoise=0;//离开的乌龟
 gameInfoTemp.walkState=0;//0停止走路,1走路中
 document.getElementById('sence0Id').onclick=function(){
  gotoSence1();//进入场景1,游戏开始
 }
}
function resetTortoise(){
 for(var i=1;i<=4;i++){
  document.getElementById('tortoise'+i+'Id').style.right=tortoiseInfoRightPositon[i-1];
  document.getElementById('tortoise'+i+'Id').style.display='none';
 }
}
function gotoSence1(){
 setScore(gameInfoTemp.score);
 document.getElementById('sence0Id').style.opacity='0';
 document.getElementById('sence1Id').style.display='block';
 document.getElementById('sence1Id').style.opacity='1';
 document.getElementById('sence1Id').style.zIndex=9;
 setTimeout(function(){
  document.getElementById('sence0Id').style.display='none';
  document.getElementById('sence0Id').style.zIndex=1;
 },500);
 setJumpLineAni();
}
function setJumpLineAni(){
 var lineInfo=function(){
  this.nowPosition=0;//偏移位置f
  this.speed=1;//跳绳速度速度
  this.timeSpeed=80;//动画速度
  this.timeer=0;
  this.state=0;
  this.jumpJudgeState=0;//0还未点击跳跃,1跳跃按钮成功
  this.jumpState=-1;//0lose,1win
  this.jumpStep=0;
 }
 var jumpInfoTemp;
 document.getElementById('ctrlBoxId').onclick=function(){}
 var valuesLeft={
  node:'ctrlBoxId',
  clickEvent:'on',
  eventStart:function(e){ 
  },
  eventMove:function(e){},
  eventEnd:function(e){
   jumpJudge();//点击跳跃,判断是否跳成功
  }
 }
 AddEventHandlers(valuesLeft);
 jumpInfoTemp=new lineInfo;
 runJumpLine();
 function runJumpLine(){//执行一次跳绳动画
  jumpInfoTemp.nowPosition=0;//偏移位置
  //jumpInfoTemp.speed=jumpInfoTemp.speed+0.1;//跳绳速度速度
  jumpInfoTemp.timeer=0;
  jumpInfoTemp.state=0;//跳绳圈位置
  jumpInfoTemp.jumpJudgeState=0;//0还未点击跳跃,1跳跃按钮开始成功
  jumpInfoTemp.jumpState=-1;//0lose,1win
  jumpInfoTemp.jumpStep=0;
  //设置跳绳速度
  /*
  jumpInfoTemp.speed=1+Math.floor(gameInfoTemp.score/2)*5/100;
  */
  console.log('当前跳绳速度'+jumpInfoTemp.speed); 
  //console.log(jumpInfoTemp);
  jumpInfoTemp.timer=window.setInterval(function(){
   if(jumpInfoTemp.state==5){
    window.clearInterval(jumpInfoTemp.timer);
    return;
   }
   if(jumpInfoTemp.state==4){
    window.clearInterval(jumpInfoTemp.timer);
    runJumpLine();
    return;
   }
   getJumpPosition();
  },jumpInfoTemp.timeSpeed);
  function getJumpPosition(){//计算二次赛贝尔曲线坐标
   switch(jumpInfoTemp.jumpStep){
    case 0:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line19Id').style.display='none';
     document.getElementById('line0Id').style.display='block';
     if(gameInfoTemp.tortoiseInfo==0){
      setTortoiseGo();
     }
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 1:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line0Id').style.display='none';
     document.getElementById('line1Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 2:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line1Id').style.display='none';
     document.getElementById('line2Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 3:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line2Id').style.display='none';
     document.getElementById('line3Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 4:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line3Id').style.display='none';
     document.getElementById('line4Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0; 
    break;
    case 5:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line4Id').style.display='none';
     document.getElementById('line5Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 6:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line5Id').style.display='none';
     document.getElementById('line6Id').style.display='block';
     if(gameInfoTemp.waitTortoise==0){
      setTortoiseReady();
      gameInfoTemp.tortoiseInfo=0;
     }
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 7:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line6Id').style.display='none';
     document.getElementById('line7Id').style.display='block';
    break;
    case 8:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line7Id').style.display='none';
     document.getElementById('line8Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 9:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line8Id').style.display='none';
     document.getElementById('line9Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 10:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line9Id').style.display='none';
     document.getElementById('line10Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 11:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line10Id').style.display='none';
     document.getElementById('line11Id').style.display='block';
     jumpInfoTemp.jumpJudgeState=0;
    break;
    case 12:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line11Id').style.display='none';
     document.getElementById('line12Id').style.display='block';
     for(var i=1;i<=4;i++){
      var tr=document.getElementById('tortoise'+i+'Id').style.right;
      if(tortoiseInfoRightPositon[i][2]==tr){
       gameInfoTemp.tortoiseInfo=2;
      }
     }
     jumpInfoTemp.jumpJudgeState=1;
    break;
    case 13:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line12Id').style.display='none';
     document.getElementById('line13Id').style.display='block';
    break;
    case 14:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line13Id').style.display='none';
     document.getElementById('line14Id').style.display='block'; 
    break;
    case 15:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line14Id').style.display='none';
     document.getElementById('line15Id').style.display='block';
    break;
    case 16:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line15Id').style.display='none';
     document.getElementById('line16Id').style.display='block';
     if(jumpInfoTemp.nowPosition<=jumpInfoTemp.maxMove/4){
      jumpInfoTemp.jumpJudgeState=0;
      console.log('进行跳跃判断结束');
     }
    break;
    case 17:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line16Id').style.display='none';
     document.getElementById('line17Id').style.display='block';
     
    break;
    case 18:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line17Id').style.display='none';
     document.getElementById('line18Id').style.display='block';
    break;
    case 19:
     jumpInfoTemp.jumpStep++;
     document.getElementById('line18Id').style.display='none';
     document.getElementById('line19Id').style.display='block';
     if(jumpInfoTemp.nowPosition<=0){
      if(gameInfoTemp.tortoiseInfo>1){
       console.log('当前乌龟状态:'+gameInfoTemp.tortoiseInfo);
       if(jumpInfoTemp.jumpState==1 || gameInfoTemp.tortoiseInfo==3){
        jumpInfoTemp.state=4;
        gameInfoTemp.score++;
        console.log('得分:'+gameInfoTemp.score);
        setTimeout(function(){
         setScore(gameInfoTemp.score);
         setTortoiseOut();
        },500);
       }else{
        jumpInfoTemp.state=5;
        jumpInfoTemp.jumpState=2;
        gameInfoTemp.tortoiseInfo=4;
        gameInfoTemp.walkState=0;
        //document.getElementById('linel0Id').src='images/endLine.png'; 
        gameOver();  
       }
      }else{
       jumpInfoTemp.state=4;
      }
      jumpInfoTemp.jumpJudgeState=0; 
     }
    break;
    default: 
   } 
  }
 }
 function hideTortoiseImg(tortoiseNumber){//隐藏乌龟图片
  var tortoiseObj=document.getElementById('tortoise'+tortoiseNumber+'Id').
    getElementsByTagName('img');
  for(var i=0;i<tortoiseObj.length;i++){
   tortoiseObj[i].style.display='none';
  }
 }
 function setTortoiseReady(){//设置乌龟准备
  if (gameInfoTemp.waitTortoise>0){
   return;
  }
  if(gameInfoTemp.nowTortoise<4){
   var torroiseRndNumber=gameInfoTemp.nowTortoise+1;
  }else{
   gameInfoTemp.waitTortoise=0;
   return;
  }
  hideTortoiseImg(torroiseRndNumber);
  gameInfoTemp.waitTortoise=torroiseRndNumber;
  console.log(gameInfoTemp.waitTortoise+'号乌龟进入准备');
  //初始化乌龟位置
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.webkitTransition='all 0s linear';
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.transition='all 0s linear';
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.display='none';
  //document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.webkitAnimation='tortoiseA 0.8s linear 1';
  //document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.animation='tortoiseA 0.8s linear 1';
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.webkitAnimation='';
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.animation='';
  document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
    style.right=tortoiseInfoRightPositon[torroiseRndNumber][0];
  //设置乌龟岛准备位置
  setTimeout(function(){
   document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
      style.display='block';
   document.getElementById('torroise'+gameInfoTemp.waitTortoise+'_walk1Id').
      style.display='block';     
   document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
      style.webkitTransition='all 0.3s linear';
   document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
      style.transition='all 0.3s linear';
   document.getElementById('tortoise'+gameInfoTemp.waitTortoise+'Id').
      style.right=tortoiseInfoRightPositon[gameInfoTemp.waitTortoise][1];
  },400);
 }

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue中keep-alive的理解和使用

简要说明&#xff1a; keep-alive&#xff1a;保留状态。在项目中我们经常将keep-alive和router-view结合使用&#xff0c;实现切换路由后仍然保留之前的路由页面的状态&#xff0c;路由切换回来后不会 重新初始化&#xff0c;而是保留之前的状态。但keep-alive是vue本身提供的…

七八分钟快速用k8s部署springboot前后端分离项目

前置依赖 k8s集群&#xff0c;如果没有安装&#xff0c;请先安装 kubectl &#xff0c;客户端部署需要依赖 应用镜像构建 应用镜像构建不用自己去执行&#xff0c;相关镜像已经推送到docker hub 仓库&#xff0c;如果要了解过程和细节&#xff0c;可以看一下&#xff0c;否…

openEuler操作系统的安装及免密远程连接(超详细版)

一、下载地址 注意&#xff1a;可以先注册华为账号&#xff0c;注册后可享1倍加速 mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/ 二、创建虚拟机步骤 ①选择自定义 ② 根据自己的VMware选择版本 ③选择稍后安装操作系统 ④没有openEuler可以选择…

「 网络安全术语解读 」通用攻击模式检举和分类CAPEC详解

引言&#xff1a;在网络安全领域&#xff0c;了解攻击者的行为和策略对于有效防御攻击至关重要。然而&#xff0c;攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题&#xff0c;MITRE公司创建了CAPEC标准&#xff0c;以提供一个共享和统一的攻击模式分类框架。 1…

给主机双网卡配置双网关,修改Windows路由表

问题背景&#xff1a; 1 一般情况下&#xff0c;Windows主机就算有多个网卡&#xff0c;在默认情况下&#xff0c;只能有一个网卡可以配置网关。 2 在双网卡只配置一个网关的情况下&#xff0c;如果每个网卡值负责访问自己网段内的IP地址&#xff0c;这样是不会出现什么异常现…

C语言爬虫采集图书网站百万数据

最近需要查阅一些资料&#xff0c;只给到相关项目名称以及关键词&#xff0c;想通过图书文库找到对应书籍&#xff0c;那么怎么才能在百万数据库中找到自己需要的文献呢&#xff1f; 今天我依然用C语言写个爬虫程序&#xff0c;从百万数据库中查找到适合的文章&#xff0c;能节…

软考14-上午题-编译、解释程序翻译阶段

一、编译、解释程序【回顾】 目的&#xff1a;高级程序设计语言&#xff08;汇编语言、高级语言&#xff09;—【翻译】—>机器语言 1-1、编译方式 将高级语言书写的源程序——>目标程序&#xff08;汇编语言、机器语言&#xff09; 包含的工作阶段&#xff1a;词法分…

ubuntu 20.04 aarch64 平台交叉编译 libffi 库

前言 由于打算交叉编译 python&#xff0c;但是依赖 libffi 库&#xff0c;也就是 libffi 库也需要交叉编译 环境&#xff1a; ubuntu 20.04 交叉编译工具链&#xff1a;这里使用 musl libc 的 gcc 交叉编译工具链&#xff0c;aarch64-linux-musleabi-gcc&#xff0c;gcc 版本…

字符串冲刺题(算法村第十二关黄金挑战)

最长公共前缀 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow"…

安泰ATA-2082高压放大器如何驱动超声探头进行无损检测

无损检测技术是一种在不破坏或影响被检测物体性能的前提下&#xff0c;通过物理或化学方法对其内部或表面的缺陷进行检测的技术。在无损检测领域&#xff0c;超声检测是一种广泛应用的方法&#xff0c;而ATA-2082高压放大器则是实现高效、精确超声检测的关键设备之一。本期内容…

钉钉互动卡片对接-普通互动卡片接入流程

这里写目录标题 一、创建内部应用二、搭建普通卡片模板三、调用互动卡片服务端接口接口报文一、发送卡片二、更新卡片三、获取token 一、创建内部应用 登录开发者后台&#xff0c;创建内部应用。 例如 百度-内部测试获取AppKey和AppSecret&#xff0c; 获取应用访问凭证获取企…

计组与原理:系统总线

大家好啊&#xff0c;这里来到计组第二部分内容&#xff1a;系统总线 跳转上一篇&#xff1a;计组原理&#xff1a;系统概论与基本组成 系统总线 1.总线的基本概念单总线结构框图面向 CPU 的双总线结构框图以存储器为中心的双总线结构框图 2.总线的分类片内总线系统总线通信总线…

API接口安全总结

接口分类 HTTP接口 RPC接口&#xff08;客户端和服务器端的连接 例如游戏登陆&#xff09;非web协议&#xff0c;PRC 远程过程调用 Remote Procedure Call&#xff0c;其就是一个节点请求另外一个节点提供的服务。当两个物理分离的子系统需要建立逻辑上的关联时&#xff0c;R…

Pandas--简介(1)

Pandas 简介 Pandas 是一个开源的数据分析和数据处理库&#xff0c;它是基于 Python 编程语言的。Pandas 提供了易于使用的数据结构和数据分析工具&#xff0c;特别适用于处理结构化数据&#xff0c;如表格型数据&#xff08;类似于Excel表格&#xff09;。Pandas 是数据科学和…

前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法

文章目录 一、vue实现导出excel1、前端实现1、安装xlsx依赖2、引入3、方法4、使用4.1、将一个二维数组转成sheet4.2、将一个对象数组转成sheet4.3、合并单元格4.4、一次导出多个sheet 5、支持的文件格式 2、后端实现 二、导出文件损坏1、前端请求导出接口&#xff0c;增加返回类…

OpenHarmony驱动消息机制管理

驱动消息机制管理 当用户态应用和内核态驱动需要交互时&#xff0c;可以使用HDF框架的消息机制来实现。 消息机制的功能主要有以下两种&#xff1a; 用户态应用发送消息到驱动。 用户态应用接收驱动主动上报事件。 配置管理 HCS&#xff08;HDF Configuration Source&…

相机与镜头

一、相机视场 相机的视场角&#xff0c;也就是相机能够看到物像角度的最大值&#xff0c;视场角与焦距的关系为像高f*tan(fov/2)。由于相机的感光面是矩形&#xff0c;所以相机能够看到的区域也是矩形。探究相机的视场角&#xff0c;便于分析物面上那些区域属于相机盲区&#x…

前端模板字符串的使用

目录 1.说明 2.示例 3.总结 1.说明 模板字符串是用反引号&#xff08;&#xff09;分隔的字面量&#xff0c;允许多行字符串&#xff0c;带有嵌入表达式的字符串插值和一种带标签的模板的特殊结构。 是增强版的字符串&#xff0c;在进行字符串拼接时&#xff0c;可以拼接固…

2.0-学成在线内容管理

内容管理模块 1.需求 1.1 业务流程 内容管理的业务由教学机构人员和平台的运营人员共同完成。 教学机构人员的业务流程如下&#xff1a; 1、登录教学机构。 2、维护课程信息&#xff0c;添加一门课程需要编辑课程的基本信息、上传课程图片、课程营销信息、课程计划、上传课程…

C语言或C++通过IShellLinkA创建或解析lnk快捷方式(使用char字符数组)

本例程用到的COM接口有IShellLinkA和IPersistFile。 请注意因为函数参数的类型不为BSTR&#xff0c;所以这两个接口可直接传char *或wchar_t *字符串&#xff0c;不需要提前转化为BSTR类型。 C语言的写法&#xff1a; /* 这个程序只能在C编译器下编译成功, 请确保源文件的扩展…
最新文章