打击者H5小游戏

欢迎来到程序小院

打击者

玩法:'点击飞机上下左右移动躲过子弹射击,打掉上方敌人飞机,
遇到药包会增加能量,弹药包会升级武器,快去射击吧^^。

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

html

<div id="game">
  <canvas unselectable="on"id="myCanvas" width="320" height="570" ></canvas>
  <canvas unselectable="on"id="myCanvas4" width="144" height="28"></canvas>
  <canvas unselectable="on"id="myCanvas5" width="120" height="74"></canvas>
</div>

css

#game {}
.gameOn{-webkit-animation: game 1s 1 ease-in; }
.gameOn2{-webkit-animation: game 1s 1 ease-in; }
body { background:#000; }
#myCanvas {}
#myCanvas2 {position:absolute; font-family:Verdana, Geneva, sans-serif; z-index:8;
left:50%;top:50%; margin-top:-320px;  margin-left:-240px;  }
#myCanvas3 {position:absolute; z-index:11;left:50%;top:50%; margin-top:-320px;  
margin-left:-240px;  }
#myCanvas4{position:absolute; z-index:14; left:180px;}
#myCanvas5{position:absolute; z-index:15; left:20px; top:60px; }

js

if( typeof(game9g)=="undefined"){
 game9g={};
}
if(!game9g.utils){
 game9g.utils={};
}
if(gstyle.styleSheet){         //ie下  
gstyle.styleSheet.cssText = str; 
} else {  
gstyle.innerHTML = str;
}
document.getElementsByTagName("head")[0].appendChild(gstyle);
var game9gmake=document.createElement("div");
game9gmake.id="game9gmake";
game9gmake.className="game9gmake";
document.getElementsByTagName("body")[0].appendChild(game9gmake);
var game9gdialog=document.createElement("div");
game9gdialog.id="game9gdialog";
game9gdialog.className="game9gdialog";
game9gdialog.innerHTML='<header><h2 id="game9gtitle">9G游戏</h2></header>
<section id="game9gcontent"></section><footer><a href="javascript:void(0)" 
id="game9gleftbtn">取消</a><a href="javascript:void(0)" id="game9grightbtn">确定</a>
</footer>';
document.getElementsByTagName("body")[0].appendChild(game9gdialog);
game9g.utils.dialog=function(){
 document.getElementById('game9gtitle').innerHTML=game9g.utils.shareConfirmparam.stitle;
 document.getElementById('game9gcontent').innerHTML=game9g.utils.shareConfirmparam.scontent;
 var game9gleftbtn=document.getElementById('game9gleftbtn');
 var game9grightbtn=document.getElementById('game9grightbtn');
 game9gleftbtn.removeEventListener('click');
 game9grightbtn.removeEventListener('click');
 game9gleftbtn.addEventListener('click',function(){
  game9g.utils.hideDialog();
 })
 game9grightbtn.addEventListener('click',function(){
  try{
   if(game9g.utils.shareConfirmparam.callback&&typeof(game9g.utils.shareConfirmparam.callback)=='function'){
    game9g.utils.shareConfirmparam.callback();
   }
  }catch(e){
   console.err("回调方法错误!");
  }
  game9g.utils.hideDialog();
 })
 game9g.utils.showDialog();
};
game9g.utils.shareConfirmparam={};
game9g.utils.shareConfirm=function(scontent,callback,stitle){
 if(!stitle){
  stitle="9G游戏";
 }
 game9g.utils.shareConfirmparam={
  stitle:stitle,
  scontent:scontent,
  callback:callback
 }
 setTimeout(delayShareConfirm,1000);
}
function delayShareConfirm(){
 game9g.utils.dialog();
}
game9g.utils.hideDialog=function(){
 game9g.utils.hide('game9gmake');
 game9g.utils.hide('game9gdialog');
} 
game9g.utils.showDialog=function(){
 game9g.utils.show('game9gmake');
 game9g.utils.show('game9gdialog');
} 
game9g.utils.show=function(id){
 document.getElementById(id).style.display="block";
}
game9g.utils.hide=function(id){
 document.getElementById(id).style.display="none";
} 
var domains=["bunol.cn", "bunol.cn"];
var domain = domains[parseInt(Math.random() * domains.length)];
if(window.shareData){
window.shareData.timeLineLink = "http://game.ikongzhong.cn/games/djz/index.html";
console.dir("分享url:"+window.shareData.timeLineLink);
}
function IsPC() {
    
    return false
}
function bomb(a, b) {
    this.x = b,
    this.y = a,
    this.k = 0,
    this.r = 6,
    this.j = 0
}
function stage(a, b, c, d, e) {
    this.dn3 = a,
    this.dn4 = d,
    this.t = 0,
    this.speed = c,
    this.text = b,
    this.img = e,
    this.title = [Attack.imgDx[81], Attack.imgDx[84]]
}
function explode(a, b, c) {
    this.x = a,
    this.y = b,
    this.r = 0,
    this.die = 0,
    this.type = c,
    this.t = 0
}
function sp(a, b, c, d, e, f, g, h) {
    this.x = a,
    this.y = b,
    this.h = c,
    this.m = g,
    this.n = h,
    this.img = e,
    this.die = 0,
    this.cos1 = Math.cos(d),
    this.sin1 = Math.sin(d),
    this.type = f,
    this.t = 0
}
function chena(a, b, c, d, e, f, g, h) {
    this.x = a,
    this.y = b,
    this.img = c,
    this.die = 0,
    this.mfx = d,
    this.type = e,
    this.width = f,
    this.hight = g,
    this.arc = h
}
function yun(a, b, c, d, e) {
    this.x = a,
    this.y = b,
    this.img = c,
    this.die = 0,
    this.fx = d,
    this.type = e,
    this.speed_x = random(1, 8),
    this.speed_y = random(1, 8)
}
function star(a, b, c) {
    this.x = a,
    this.y = b,
    this.rad = Math.PI / 10 * random(1, 21),
    1 == c ? this.img = Attack.imgDx[28] : 2 == c ? this.img = Attack.imgDx[29] : 3 == c && (this.img = Attack.imgDx[30]),
    this.type = c,
    this.die = 0,
    this.st = 0
}
function random(a, b) {
    return Math.floor(a + Math.random() * (b - a))
}
function drStar() {
    var a = random(0, 2),
    b = random(1, 8),
    c = random(0, 4),
    d = [Attack.imgDx[27], Attack.imgDx[28], Attack.imgDx[29], Attack.imgDx[30]],
    e = new yun(50 * b, -250, d[c], a);
    Attack.s.push(e)
}
function enemyZc(a) {
    for (var b = Attack.enemylist.length,
    c = b; b + 6 > c; c++) Attack.enemylist[c] = new enemy(50 * (c - b) - 330, 30 * 
    (c - b) - 220, Attack.imgDx[2], a, 50, 44, 1, 1, 50 + 6 * c, 30, 50, 1, 1)
}
function enemyZc2() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(50, 660, Attack.imgDx[84], 233, 222, 166, 14, 1,
    30, 30, 50, 1, 1);
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd15(b)
    }
}
function enemyZc3(a) {
    for (var b = Attack.enemylist.length,
    c = b; b + 6 > c; c++) Attack.enemylist[c] = new enemy(50 * (c - b) + 360, 30 * 
    (c - b) + Attack.pos_y / 2 + 30, Attack.imgDx[2], a, 50, 44, 1, 1, 50 + 6 * c, 30,
    70, 1, 1),
    Attack.enemylist[c].arc = Math.PI
}
function sBossZc5() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy( - 240, 160, Attack.imgDx[55], 20, 55, 48, 8, 10, 
    78, 30, 65, 1, 1, 4);
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd12(b)
    }
}
function sBossZc6() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy( - 80, 120, Attack.imgDx[55], 12, 55, 48, 11, 10, 
    78, 30, 65, 1, 1, 4),
    Attack.enemylist[a].arc = -Math.PI / 2;
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd13(b)
    }
}
function sBossZc6_2() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(380, 120, Attack.imgDx[55], 12, 55, 48, 11, 10, 78, 
    30, 65, 1, 1, 4),
    Attack.enemylist[a].arc = Math.PI / 2;
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd13(b)
    }
}
function sBossZc6_3(a) {
    var b = Attack.enemylist.length;
    Attack.enemylist[b] = new enemy(a, -70, Attack.imgDx[55], 12, 55, 48, 11, 10, 78,
    30, 65, 1, 1, 4),
    Attack.enemylist[b].arc = 0;
    var c = Attack.enemylist[b];
    c.fpao = function() {
        printbosspd13(c)
    }
}
function sBossZc4() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(100, -100, Attack.imgDx[51], 1510, 100, 92, 9, 6, 
    78, 46, 105, 2, 1, 3);
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd11(b)
    }
}
function sBossZc2() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy( - 100, 10, Attack.imgDx[4], 20, 27, 66, 12, 6, 78, 
    30, 55, 1, 1, 1);
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd3(b)
    }
}
function sBossZc12() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(600, 10, Attack.imgDx[4], 20, 27, 66, 13, 6, 78, 26, 
    55, 1, 1, 1);
    var b = Attack.enemylist[a];
    b.fpao = function() {
        printbosspd3(b)
    }
}
function crzdj() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(115, 646, Attack.imgDx[24], 2590, 28, 46, 7, 3, 0, 
    75, 110, 1, 1),
    Attack.enemylist[a].tank = 5,
    Attack.enemylist[a + 1] = new enemy(105, 646, Attack.imgDx[25], 1190, 28, 46, 6, 3,
    0, 45, 110, 1, 1),
    Attack.enemylist[a + 1].tank = 5,
    Attack.enemylist[a + 2] = new enemy(100, 600, Attack.imgDx[15], 1100, 48, 174, 5, 3,
    0, 60, 80, 2, 1, 2),
    Attack.enemylist[a + 2].tank = 5;
    var b = Attack.enemylist[a + 2];
    b.fpao = function() {
        printbosspd6(b)
    };
    var c = Attack.enemylist[a + 1];
    c.fpao = function() {
        printbosspd8(c)
    };
    var d = Attack.enemylist[a];
    d.fpao = function() {
        printbosspd9(d)
    }
}
function boss() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(200, 600, Attack.imgDx[75], 940, 24, 268, 5, 3, 0,
    80, 120, 1, 1),
    Attack.enemylist[a].tank = 6,
    Attack.enemylist[a + 1] = new enemy(11, 650, Attack.imgDx[76], 940, 189, 88, 5, 3, 
    0, 80, 120, 1, 1),
    Attack.enemylist[a + 2] = new enemy(224, 650, Attack.imgDx[77], 940, 189, 88, 5, 3, 
    0, 80, 120, 1, 1),
    Attack.enemylist[a + 3] = new enemy(154, 830, Attack.imgDx[78], 940, 116, 56, 5, 3, 
    0, 80, 120, 1, 1)
}
function boss2() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(184, 772, Attack.imgDx[81], 940, 120, 118, 15, 3,
    0, 80, 120, 1, 1),
    Attack.enemylist[a].tank = 7;
    var b = Attack.enemylist[a];
    b.fpao = function() {
        bosspd2(b)
    },
    Attack.enemylist[a + 1] = new enemy(40, 600, Attack.imgDx[80], 940, 406, 174, 15, 3,
    0, 80, 120, 1, 1),
    Attack.enemylist[a + 1].tank = 6;
    var c = Attack.enemylist[a + 1];
    c.fpao = function() {
        bosspd(c)
    }
}
function crPt3(a, b) {
    var c = Attack.tanklist.length,
    d = {
        img: Attack.imgDx[50],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[c] = new enemy(a, b, Attack.imgDx[49], 16, 30, 30, 4, 3, 0, 0, 0, 
    1, 1, 0, d),
    Attack.tanklist[c].tank = 2;
    var e = Attack.tanklist[c];
    e.fpao = function() {
        printbosspd4(e)
    }
}
function crPt5() {
    var a = Attack.tanklist.length,
    b = {
        img: Attack.imgDx[47],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[a] = new enemy(250, -100, Attack.imgDx[9], 34, 26, 46, 10, 3, 0, 0,
    0, 1, 1, 0, b),
    Attack.tanklist[a].tank = 1;
    var c = Attack.tanklist[a];
    c.fpao = function() {
        printbosspd7(c)
    }
}
function crPt2() {
    var a = Attack.tanklist.length,
    b = {
        img: Attack.imgDx[47],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[a] = new enemy(300, -100, Attack.imgDx[9], 24, 26, 46, 3, 3, 0, 0, 
    0, 1, 1, 0, b),
    Attack.tanklist[a].tank = 1;
    var c = Attack.tanklist[a];
    c.fpao = function() {
        printbosspd7(c)
    }
}
function crPt7(a, b) {
    var c = Attack.tanklist.length,
    d = {
        img: Attack.imgDx[47],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[c] = new enemy(a, b, Attack.imgDx[9], 26, 26, 46, 2, 3, 0, 0, 0, 1,
    1, 0, d),
    Attack.tanklist[c].tank = 1;
    var e = Attack.tanklist[c];
    e.fpao = function() {
        printbosspd7(e)
    }
}
function crPt6(a, b) {
    var c = Attack.tanklist.length,
    d = {
        img: Attack.imgDx[47],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[c] = new enemy(a, b, Attack.imgDx[72], 60, 26, 46, 3, 3, 0, 0, 0, 1, 
    1, 0, d),
    Attack.tanklist[c].tank = 4;
    var e = Attack.tanklist[c];
    e.fpao = function() {
        printbosspd17(e)
    }
}
function crPt4(a, b) {
    var c = Attack.tanklist.length,
    d = {
        img: Attack.imgDx[60],
        mfx: 1,
        type: 0
    };
    Attack.tanklist[c] = new enemy(a, b, Attack.imgDx[58], 16, 30, 37, 4, 3, 0, 0, 0, 1,
    1, 0, d),
    Attack.tanklist[c].tank = 3;
    var e = Attack.tanklist[c];
    e.fpao = function() {
        printbosspd10(e)
    }
}
function sBossZc3() {
    var a = Attack.enemylist.length;
    Attack.enemylist[a] = new enemy(360, -250, Attack.imgDx[19], 340, 241, 114, 8, 3, 0, 
    30, 120, 1, 2);
    var b = Attack.enemylist[a];
    b.arc = Math.PI,
    b.fpao = function() {
        printbosspd2(b, 34)
    },
    Attack.enemylist[a + 1] = new enemy( - 10, -200, Attack.imgDx[19], 340, 241, 114, 9,
    3, 0, 30, 120, 1, 2);
    var c = Attack.enemylist[a + 1];
    c.arc = Math.PI,
    c.fpao = function() {
        printbosspd2(c, 14)
    }
}

源码

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

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

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

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

相关文章

基于矢量控制的交流电机驱动simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 交流电机基础 4.2 矢量控制原理 4.3 矢量控制的实现 5.完整工程文件 1.课题概述 基于矢量控制的交流电机驱动simulink建模与仿真。系统仿真输出电压&#xff0c;电流&#xff0c;电机转速以及扭矩…

语言革命:NLP与GPT-3.5如何改变我们的世界

文章目录 &#x1f4d1;前言一、技术进步与应用场景1.1 技术进步1.2 应用场景 二、挑战与前景三、伦理和社会影响四、实践经验五、总结与展望 &#x1f4d1;前言 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是人工智能领域的一个重要分支…

快速入门存内计算—助力人工智能加速深度学习模型的训练和推理

存内计算&#xff1a;提高计算性能和能效的新技术 传统的计算机架构是将数据存储在存储器中&#xff0c;然后将数据传输到计算单元进行处理。这种架构存在一个性能瓶颈&#xff0c;即数据传输延迟。存内计算通过将计算单元集成到存储器中&#xff0c;消除了数据传输延迟&#…

中国的茶文化:现代生活中的茶文化

中国的茶文化&#xff1a;现代生活中的茶文化 引言 在现代社会的快节奏生活中&#xff0c;茶文化并未随时间流逝而褪色&#xff0c;反而以其独特的方式融入了全球各地人们的日常生活。它超越了饮品本身的范畴&#xff0c;成为一种连接历史、人文与现代生活方式的艺术形式。本文…

Git 介绍 与 配置

Git 介绍 Git是一个分布式版本控制系统&#xff0c;用于跟踪文件的更改和协作开发。它可以管理项目的版本历史记录&#xff0c;并允许多个开发者在同一时间进行并行开发。 解决上图产生的问题就出现了git 分布式版本控制系统 看下图 Git 配置 Git的基本配置包括用户名和电子邮…

Linux split命令 切割文件

目录 一. 主要配置项二. 按照行数切割文件三. 按照指定大小切割文件 一. 主要配置项 ⏹将文件按照行数或者大小切割为若干份小文件&#xff0c;主要作用就是用来切割文件 -l&#xff1a;表示将文件按照行分割-d&#xff1a;表示使用数字作为分割后的文件名后缀, 而不是默认的…

BUUCTF-Real-[ThinkPHP]5-Rce

1、ThinkPHP检测工具 https://github.com/anx0ing/thinkphp_scan 漏洞检测 通过漏洞检测&#xff0c;我们发现存在rce漏洞&#xff01; 2、漏洞利用 ---- [!] Name: Thinkphp5 5.0.22/5.1.29 Remote Code Execution VulnerabilityScript: thinkphp5022_5129.pyUrl: http://n…

跟着cherno手搓游戏引擎【16】Camera和Uniform变量的封装

相机封装&#xff1a; OrthographicCamera.h: #pragma once #include <glm/glm.hpp> namespace YOTO {class OrthographicCamera{public:OrthographicCamera(float left,float right , float bottom,float top);const glm::vec3& GetPosition()const { return m_Pos…

阿赵UE学习笔记——13、贴花

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的使用。这次介绍一种特殊的材质类型&#xff0c;贴花。 一、获取贴花资源 在没有分析贴花的原理之前&#xff0c;可以先去获得一些免费的贴花资源来使用&#xff0c;比如在Quixel上面就有专门的一个资源…

rp-bf:一款Windows下辅助进行ROP gadgets搜索的Rust库

关于rp-bf rp-bf是一款Windows下辅助进行ROP gadgets搜索的Rust库&#xff0c;该工具可以通过模拟Windows用户模式下的崩溃转储来爆破枚举ROP gadgets。 在很多系统安全测试场景中&#xff0c;研究人员成功劫持控制流后&#xff0c;通常需要将堆栈数据转移到他们所能够控制的…

iZotope RX 10.4.2 mac激活版 音频修复和增强工具

iZotope RX 10 for Mac是一款专业的音频修复软件&#xff0c;旨在提供强大、精确的工具&#xff0c;让用户能够清晰、纯净地处理音频。以下是其主要功能和特点&#xff1a; 软件下载&#xff1a;iZotope RX 10.4.2 mac激活版下载 强大的降噪功能&#xff1a;iZotope RX 10采用了…

P1228 地毯填补问题

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里&#xff0c;有一座宫殿。宫殿里有个四四方方的格子迷宫&#xff0c;国王选择驸马的方法非常特殊&#xff0c;也非常简单&#xff1a;公主就站在其中一个方格子上&#xff0c;只要谁能用地毯将除公主站立的地方外的所有地…

IMX6LL|打造自己的驱动总线

xbus&#xff1a;打造自属的驱动总线 驱动总线 软件与硬件代码分离&#xff0c;提高程序的复用性 device–关联硬件代码driver_devices–关联软件代码bus_type–统一管理、设置match匹配规则 设备驱动模型体现分离思想 bus-xbus-devices-drivers 总线管理 buses_init()函…

贪吃蛇---C语言---详解

引言 C语言已经学了不短的时间的&#xff0c;这期间已经开始C和Python的学习&#xff0c;想给我的C语言收个尾&#xff0c;想起了小时候见过别人的老人机上的贪吃蛇游戏&#xff0c;自己父母的手机又没有这个游戏&#xff0c;当时成为了我的一大遗憾&#xff0c;这两天发现C语…

C++ 之LeetCode刷题记录(二十四)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 119. 杨辉三角 II 给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowI…

基于stm32F4卷积神经网络手写数字识别项目

加我微信hezkz17 可以申请加入嵌入式人工智能技术研究开发交流答疑群&#xff0c;赠送企业嵌入式AI 图像理解/音/视频项目核心开发资料 1 采用CNN BP反向传播算法更新权重系数 2 原理解析 3 实现策略 训练与识别分离&#xff0c;先在电脑上训练好CNN BP神经网络的模型&#…

音视频数字化(数字与模拟-音频广播)

在互联网飞速发展的今天,每晚能坐在电视机前面的人越来越少,但是每天收听广播仍旧是很多人的习惯。 从1906年美国费森登在实验室首次进行无线电广播算起,“广播”系统已经陪伴人们115年了。1916年,收音机开始上市,收音机核心是“矿石”。1920年开始“调幅”广播,1941年开…

又涨又跌 近期现货黄金价格波动怎么看?

踏入2024年一月的下旬&#xff0c;现货黄金价格可以说没了之前火热的状态&#xff0c;盘面上是又涨又跌。面对这样的行情&#xff0c;很多投资者不知道如何看了。下面我们就来讨论一下怎么把握近期的行情。 先区分走势类型。在现货黄金市场中有两种主要的走势类型&#xff0c;一…

WebAssembly核心编程[1]:wasm模块实例化的N种方式

当我们在一个Web应用中使用WebAssembly&#xff0c;最终的目的要么是执行wasm模块的入口程序&#xff08;通过start指令指定的函数&#xff09;&#xff0c;要么是调用其导出的函数&#xff0c;这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例(源代码…

基于flask的个人博客项目从0到1

项目展示(持续完善中…) 首页 文章时间线页面 笔记页面 留言页面 关于页面 后台页面-文章管理 后台页面-笔记页面 后台页面-分类 后台管理-新增标签 后台管理-标签页面 后台管理-新增标签 后台管理-关于页面 2.项目详述 该博客开源地址点击跳转&#xff0c;该项目已部署上…