class kind { constructor() { this.Begin(); } //我方子弹移动速度 Imove = 100 //我方子弹产出速度 Iproduce = 900 //敌方飞机产出速度 Enemyspeed=3000 //开始时间(分) Starttime = 0 //进行时间(分) Carrytime = 0 time = [] //游戏状态 state = false; //分数 fraction=0 //开始 Begin() { this.state = true; $(".Begin").onclick = () => { $(".mine").show() $(".Begin").none() if (this.state) { this.Airplanemoving() } this.Starttime = new Date().getMinutes(); //我方子弹产生 this.time[0] = setInterval(() => { this.Aircraftbullets() }, this.Iproduce) //敌方飞机产生 this.time[1] = setInterval(() => { this.Enemyaircraftarise() }, this.Enemyspeed) } } //我的飞机移动 Airplanemoving() { window.onmousemove = (e) => { $(".mine").style = `top:${e.clientY - $(".mine").offsetHeight / 2}px;left:${e.clientX - $(".mine").offsetWidth / 2}px` } } //我方子弹产生 Aircraftbullets() { let left = (parseInt($(".mine").offsetLeft) + parseInt($(".mine").offsetWidth / 2) - 15) let top = parseInt($(".mine").offsetTop) let img = document.createElement("img"); img.src = "./img/bullet.png" img.className = "bullet" img.style = `left:${left}px;top:${top}px;` $("body").appendChild(img) if (this.state = true) { this.Bulletsmove(img); } } //我方子弹移动 Bulletsmove(img) { img.idd = setInterval(() => { img.style.top = `${parseInt(img.style.top) - 10}px` if (parseInt(img.style.top) < 0) { clearInterval(img.idd) $("body").removeChild(img) } }, this.Imove) } //敌方飞机产生 Enemyaircraftarise() { this.Carrytime = new Date().getMinutes(); let left = Math.random() * (window.innerWidth - 112) let img = document.createElement("img"); img.className = "enemy" img.typee = "t"; let lei = Math.floor(Math.random() * (5 - 1)) + 1 img.src = `./img/Enemyaircraft${lei}.png` img.style = `top:0px;left:${left}px;` if (this.Carrytime - this.Starttime < 1) { img.blood = 1; this.Enemyspeed=3000 } else if (this.Carrytime - this.Starttime < 3) { img.blood = 3; this.Enemyspeed=2000 } else if (this.Carrytime - this.Starttime < 5) { img.blood = 6; this.Enemyspeed=1000 } else if (this.Carrytime - this.Starttime < 7) { img.blood = 10; this.Enemyspeed=600 } else { img.blood = 15; this.Enemyspeed=300 } $("body").appendChild(img) if (this.time) { this.Enemyaircraftmove(img); } } //敌方飞机移动 Enemyaircraftmove(img) { img.iidd = setInterval(() => { img.style.top = `${parseInt(img.style.top) + 5}px` if (parseInt(img.style.top) > window.innerHeight) { clearInterval(img.iidd) $("body").removeChild(img) } else { if (this.time) { //飞机与飞机相撞 this.collision($(".mine"), img) //子弹与敌方飞机 _(".bullet").forEach(v => { this.collision(img, v) }) } } }, 100) } collision(el1, el2) { if (el1.offsetLeft < el2.offsetLeft + el2.offsetWidth && el1.offsetLeft + el1.offsetWidth > el2.offsetLeft && el1.offsetTop < el2.offsetTop + el2.offsetHeight && el1.offsetHeight + el1.offsetTop > el2.offsetTop ) { let left = el1.offsetLeft; let top = el1.offsetTop; if (el2.typee == "t") { this.state = false; this.time.forEach(v => { clearInterval(v) }) $("body").innerHTML = `` $("body").removeChild(el1) $("body").removeChild(el2) } if (el1.blood == 0) { clearInterval(el1.iidd) clearInterval(el2.idd) $("body").removeChild(el1) $("body").removeChild(el2) console.log("血量归零"); this.fraction +=1; console.log(this.fraction) let fraction1=(this.fraction.toString()).split("") $(".fraction").innerHTML ="" fraction1.forEach(v=>{ $(".fraction").innerHTML +=`` console.log(v) }) } else { clearInterval(el2.idd) $("body").removeChild(el2) console.log("血量减"); el1.blood -= 1; } } else { } } } new kind //想法 //敌方子弹以我的飞机坐标为点 //1.