1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > “21天好习惯”第一期-19 飞机大战全代码添加功能(敌方飞机速度随分数增加而增加

“21天好习惯”第一期-19 飞机大战全代码添加功能(敌方飞机速度随分数增加而增加

时间:2022-06-25 19:43:44

相关推荐

“21天好习惯”第一期-19 飞机大战全代码添加功能(敌方飞机速度随分数增加而增加

今天新加的功能都是有注释的,大家如果有什么不清楚的可以与我私聊。(原创不易,求个点赞,收藏)

//创建己方飞机function creathero() {var hero = document.createElement('div');hero.className = "hero";var gameBox = document.querySelector('.gameBox');gameBox.appendChild(hero);var y1 = hero.offsetLeft;hero.style.top = 550 + 'px';}var enemyspeed = 2; //敌方飞机的初始速度var timespeed = 800; //出现敌方飞机的速度var herospeed = 20; //英雄初始速度function creat() {//创建敌方飞机var time1 = setInterval(function() {var gameBox = document.querySelector('.gameBox');var width = gameBox.offsetWidth;var num = Math.floor(Math.random() * (width - 30));var enemy = document.createElement('div');enemy.className = "enemy";gameBox.appendChild(enemy);//var enemy = document.querySelector('.enemy');enemy.style.left = num + 'px';}, timespeed);var time2 = setInterval(function() {var enemy = document.querySelectorAll('.enemy')var i = 0;for (i; i < enemy.length; i++)enemy[i].style.top = enemy[i].offsetTop + enemyspeed + 'px';}, 10);//创建子弹var time3 = setInterval(function() {var hero = document.querySelector('.hero');var bullet = document.createElement('div');bullet.className = "bullet";var gameBox = document.querySelector('.gameBox');gameBox.appendChild(bullet);bullet.style.left = hero.offsetLeft + 22.5 + 'px';bullet.style.top = hero.offsetTop + 'px';}, 300);var time4 = setInterval(function() {var bullet = document.querySelectorAll('.bullet')var i = 0;for (i; i < bullet.length; i++)bullet[i].style.top = bullet[i].offsetTop - 2 + 'px';}, 10);//加速buffvar time7 = setInterval(function() {var gameBox = document.querySelector('.gameBox');var width = gameBox.offsetWidth;var num = Math.floor(Math.random() * (width - 30));var speedbuff = document.createElement('div');speedbuff.className = "speedbuff";gameBox.appendChild(speedbuff);speedbuff.style.left = num + 'px';}, 8000)var time8 = setInterval(function() {var speedbuff = document.querySelectorAll('.speedbuff')var i = 0;for (i; i < speedbuff.length; i++)speedbuff[i].style.top = speedbuff[i].offsetTop + enemyspeed + 'px';}, 10);//打飞机,添加计分器var number = 0;var score = document.querySelector('.score');score.innerHTML = number;var time5 = setInterval(function() {var gameBox = document.querySelector('.gameBox');var bullet = document.querySelectorAll('.bullet');var enemy = document.querySelectorAll('.enemy');for (var k = 0; k < enemy.length; k++)for (var j = 0; j < bullet.length; j++) {if (bullet[j].offsetLeft >= enemy[k].offsetLeft && bullet[j].offsetLeft <= enemy[k].offsetLeft + enemy[k].offsetWidth &&bullet[j].offsetTop <= enemy[k].offsetTop + enemy[k].offsetHeight) {gameBox.removeChild(enemy[k]);gameBox.removeChild(bullet[j]);number += 10; //增加分数enemyspeed += 0.1; //速度增加timespeed -= 2; //出现敌方飞机的时间间隔减少score.innerHTML = number;}}}, 1);//己方飞机死亡var time6 = setInterval(function() {var gameBox = document.querySelector('.gameBox');var enemy = document.querySelectorAll('.enemy');var hero = document.querySelector('.hero');var action = document.querySelector('.action');var speedbuff = document.querySelectorAll('.speedbuff');//飞机碰撞var j = 0;for (j; j < enemy.length; j++) {if (enemy[j].offsetTop + enemy[j].offsetHeight >= hero.offsetTop && enemy[j].offsetLeft <= hero.offsetLeft + hero.offsetWidth &&enemy[j].offsetLeft + enemy[j].offsetWidth >= hero.offsetLeft) {clearInterval(time1);clearInterval(time2);clearInterval(time3);clearInterval(time4);action.style.display = 'block';clearInterval(time5);clearInterval(time6);clearInterval(time7);clearInterval(time8);gameBox.removeChild(hero);}}//BUFF碰撞for (j = 0; j < speedbuff.length; j++) {if (speedbuff[j].offsetTop + speedbuff[j].offsetHeight >= hero.offsetTop && speedbuff[j].offsetLeft <= hero.offsetLeft +hero.offsetWidth &&speedbuff[j].offsetLeft + speedbuff[j].offsetWidth >= hero.offsetLeft) {speedbuff[j].style.display = 'none';herospeed += 10;}}}, 1);}//己方飞机移动document.onkeydown = function(hero) {var hero = document.querySelector('.hero');if (event.keyCode == 65 && hero.offsetLeft >= 20) {hero.style.left = hero.offsetLeft - herospeed + 'px';} //向左if (event.keyCode == 68 && hero.offsetLeft <= 430) {hero.style.left = hero.offsetLeft + herospeed + 'px';} //向右if (event.keyCode == 83 && hero.offsetTop <= 530) {hero.style.top = hero.offsetTop + herospeed + 'px';} //向下if (event.keyCode == 87 && hero.offsetTop >= 0) {hero.style.top = hero.offsetTop - herospeed + 'px';} //向上}//清除越界的盒子function clearbox() {var time5 = setInterval(function() {var gameBox = document.querySelector('.gameBox');var bullet = document.querySelectorAll('.bullet');var i = 0;for (i; i < bullet.length; i++) {if (bullet[i].offsetTop < 0)gameBox.removeChild(bullet[i]);}var enemy = document.querySelectorAll('.enemy');for (i = 0; i < enemy.length; i++) {if (enemy[i].offsetTop > gameBox.offsetHeight - enemy[i].offsetHeight)gameBox.removeChild(enemy[i]);}var speedbuff = document.querySelectorAll('.speedbuff');for (i = 0; i < speedbuff.length; i++)if (speedbuff[i].offsetTop > gameBox.offsetHeight - speedbuff[i].offsetHeight)gameBox.removeChild(speedbuff[i]);}, 1);}//开始游戏var action = document.querySelector('.action');action.onclick = function init() {var gameBox = document.querySelector('.gameBox');var enemy = document.querySelectorAll('.enemy');var bullet = document.querySelectorAll('.bullet');for (var i = 0; i < enemy.length; i++)gameBox.removeChild(enemy[i]);for (var i = 0; i < bullet.length; i++)gameBox.removeChild(bullet[i]);creathero();creat();clearbox();action.style.display = 'none';}

“21天好习惯”第一期-19 飞机大战全代码添加功能(敌方飞机速度随分数增加而增加 加速BUFF 上下移动)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。