用代码来过端午节---基于HTML的端午节划龙舟小游戏

时间:2025-03-06 10:05:30
var index = 2; var score = 0; var timer = "" // 1. 通过键盘或者手指来控制小船 function moveCar(){ //监听键盘点击事件 document.onkeydown = function(e){ console.log(e) console.log(e.keyCode) //当kecode == 37 小船向左移动 当keycode ==39 向右移动 if(e.keyCode==37){ index = index<= 0 ? 0 : index-1; }else if(e.keyCode == 39){ index = index >=4 ? 4 :index+1; } $(".car").animate({ "left":index*20+4+"%", },10) } } moveCar(); setCar(); // 定时出现障碍物 function setCar(){ timer = setInterval(function(){ createCar() },1000) } //生成一个障碍物 function createCar(){ var car = document.createElement("img"); console.log(car) car.className="otherCar" car.src = "img/" $(".trankBox").append(car) var rand = Math.floor(Math.random()*5) // 随机出现障碍物 $(car).css({ "left": rand*20+4+"%" }) //第一关 ..... $(".otherCar").animate({ "top":"100%" },5000,'linear',function(){ // 设置得分 score++ // 消除障碍物 $(this).remove() }) //碰撞 kno = 0 1 2 3 (多次) //一次就结束 碰撞检测 konckCar(car); } // 碰撞检测 function konckCar(othercar){ var car = document.getElementById("car") setInterval(function(){ //进行碰撞检测 //敌方小车的x和y轴的距离 var otherX = othercar.offsetLeft var otherY = othercar.offsetTop //赛车的xy轴距离 var carX = car.offsetLeft var carY = car.offsetTop var carW = car.offsetWidth var carH = car.offsetHeight //判断条件 // carX-otherX<carW // carY-otherY<carH console.log(carW) if(Math.abs(carX-otherX)< carW && Math.abs(carY-otherY)< carH){ //游戏结束 gameOver() } },10) } function gameOver(){ // 赛车 $(".car").animate({ "top":"130%" },100) // 去除所有障碍车 $(".otherCar").remove() //清楚定时器 clearInterval(timer) //页面抖动 shak(); } // var left function shak(){ $(".trankBox").animate({ "left":"35%" },100,'linear',function(){ $(".trankBox").animate({ "left":"20%" },100,'linear',function(){ $(".trankBox").animate({ "left":"30%" },100,'linear',function(){ $(".trankBox").animate({ "left":"25%" },100,'linear',function(){ //重新开始 restart() }) }) }) }) } function restart(){ // 显示重新开始按钮 $("#restart").removeClass("hidden").addClass("show") $("#score").removeClass("hidden").addClass("show") $("#score").html("这么菜就不要玩游戏了!你的得分只有"+score+"分") // 添加点击事件 $("#restart").click(function(){ // 修改字体颜色 $("#restart").css({ "color":"blue" }) window.location.reload() }) }