html实现经典坦克大战小游戏

news2024/11/28 6:47:50

文章目录

  • 1.设计来源
    • 1.1 游戏主界面
    • 1.2 游戏界面
  • 2.效果和源码
    • 2.1 动态效果
    • 2.2 源代码
  • 源码下载

作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/130617759


html实现经典坦克大战小游戏 ,这是一款很老的游戏,相信大家都有玩过,基本操作方法:玩家1:W A S D 上左下右,SPACE 射击;玩家2: ↑ ← ↓ → 上左下右,ENTER 射击。N 下一关,P 上一关。基本功能都实现,简单易上手。用 html+js+css+canvas 实现,可以借用上手学习。

1.设计来源

1.1 游戏主界面

请添加图片描述
游戏主界面,有游戏面板,游戏规则面板组成。

1.2 游戏界面

请添加图片描述
通过操作自己的坦克,攻击敌方坦克,墙分为实体墙,加固墙,普通墙,不同的墙需要攻击次数不一样;敌方坦克也有不一样的防御力,攻击次数也不一样。


胜利: 攻击掉所有敌方坦克;
失败: 敌方坦克攻击掉自己的核心堡垒。

2.效果和源码

2.1 动态效果

html实现经典坦克大战小游戏

2.2 源代码

这里是主界面的代码,其他图片、js、css等代码,见下面的 源码下载 ,里面有所有代码资源和相关说明。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
		<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
		<title>经典坦克大战小游戏 - xcLeigh</title>
		<link rel="icon" type="image/png" href="images/favicon.ico" /> 
		<script src="js/jquery.min.js"></script>
		<script src="js/Helper.js"></script>
		<script src="js/keyboard.js"></script>
		<script src="js/const.js"></script>
		<script src="js/level.js"></script>
		<script src="js/crackAnimation.js"></script>
		<script src="js/prop.js"></script>
		<script src="js/bullet.js"></script>
		<script src="js/tank.js"></script>
		<script src="js/num.js"></script>
		<script src="js/menu.js"></script>
		<script src="js/map.js"></script>
		<script src="js/Collision.js"></script>
		<script src="js/stage.js"></script>
		<script src="js/main.js"></script>
		<link rel="stylesheet" type="text/css" href="css/default.css" />
	</head>
	<body>
		<div class="container">
			<div class="main clearfix">
				<div id="canvasDiv" style="margin-top: 60px;" >
					<canvas id="wallCanvas" ></canvas> 
					<canvas id="tankCanvas" ></canvas>
					<canvas id="grassCanvas" ></canvas>
					<canvas id="overCanvas" ></canvas> 
					<canvas id="stageCanvas" ></canvas>
				</div>
			</div>
		</div>
		<!-- 四个角链接,底部说明 -->
	<div style="position:absolute;left:0;top:0; width:80px;height:80px;">
		<div  style="position:absolute;left:0;bottom:0; width:80px;height:80px;text-align:center;line-height:80px;color:#0F85F4;z-index:999;">
		<a href="https://blog.csdn.net/weixin_43151418/article/details/127635252" title="html实现飞机小游戏(源码)" target="_blank" style="text-decoration:none; font-weight:bold">打飞机</a>
		</div>
		  <div class='classScale' style='display:flex; justify-content: center; align-items: center; width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
		  <div class='classScale1' style='position:relative; top: -80px;width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
	  </div>
	  <div style="position:absolute;right:0;top:0; width:80px;height:80px;">
		<div  style="position:absolute;left:0;bottom:0; width:80px;height:80px;text-align:center;line-height:80px;color:#0BABC4;z-index:999;">
			<a href="https://blog.csdn.net/weixin_43151418/article/details/127631871" title="html实现贪吃蛇游戏(源码)" target="_blank" style="text-decoration:none; font-weight:bold">贪吃蛇</a>
		</div>
		  <div class='classScale' style='display:flex; justify-content: center; align-items: center; width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
		  <div class='classScale1' style='position:relative; top: -80px;width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
	  </div>
	  <div style="position:absolute;right:0;bottom:0; width:80px;height:80px;">
		<div  style="position:absolute;left:0;bottom:0; width:80px;height:80px;text-align:center;line-height:80px;color:red;z-index:999;">
			<a href="https://blog.csdn.net/weixin_43151418/article/details/127619801" title="html制作好看的五子棋(源码)" target="_blank" style="text-decoration:none; font-weight:bold">五子棋</a>
		</div>
		  <div class='classScale' style='display:flex; justify-content: center; align-items: center; width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
		  <div class='classScale1' style='position:relative; top: -80px;width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
	  </div>
	  <div style="position:absolute;left:0;bottom:0; width:80px;height:80px;">
		<div  style="position:absolute;left:0;bottom:0; width:80px;height:80px;text-align:center;line-height:80px;color:orange;z-index:999;">
			<a href="https://blog.csdn.net/weixin_43151418/article/details/127886480" title="html实现扫雷小游戏(附源码)" target="_blank" style="text-decoration:none; font-weight:bold;">扫雷</a>
		</div>
		  <div class='classScale' style='display:flex; justify-content: center; align-items: center; width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
		  <div class='classScale1' style='position:relative; top: -80px;width:80px;height:80px;border-radius:50%; opacity: 0.5;'>
		  </div>
	  </div>
	  <div  style="position:absolute;left:0;bottom:0; width:100%;height:70px; line-height:30px; text-align:center; z-index:99;">
		<div style="color:white;">玩家1:<b style="color:orange;">W A S D </b> 上左下右,<b style="color:orange;">SPACE</b> 射击;玩家2:<b style="color:orange;"> ↑ ← ↓  → </b> 上左下右,<b style="color:orange;">ENTER</b> 射击。<b style="color:orange;">N</b> 下一关,<b style="color:orange;">P</b> 上一关。</div>
	  	<a href="https://blog.csdn.net/weixin_43151418" target="_blank" style="text-decoration:none; font-weight:bold;color:white;">xcLeigh | 星空系列 | 经典赛车小游戏</a>
	  </div>
	</body>
</html>

源码下载

html实现经典坦克大战小游戏(源码) 点击下载
在这里插入图片描述


     💞 关注博主 带你实现畅游前后端

     🏰 加入社区 带你体验马航不孤单

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请


     ① 🉑提供云服务部署(有自己的阿里云);
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号等相关业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/130617759(防止抄袭,原文地址不可删除)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

矩阵计算(求导)

亚导数 当函数不可微时&#xff0c;不可计算出其普通的导数&#xff0c;此时便需要引入亚导数Example: 函数 y ∣ x ∣ y|x| y∣x∣ 不可微&#xff0c;其亚导数为 ∂ ∣ x ∣ ∂ x { 1 , x > 0 − 1 , x < 0 a , x 0 , a ∈ [ 0 , 1 ] \frac{\partial |x|}{\parti…

KDZD绝缘子表面电导盐密度测试仪

一、简介 智能电导盐密测试仪&#xff0c;也称为直读式等值盐密度测试仪&#xff0c;专为测试智能电导盐密度而设计。系统内置智能电导盐密度计算公式&#xff0c;读数直观。 人机交互采用真彩TFT液晶屏&#xff0c;操作简单&#xff0c;测试参数和结果一目了然。仪器自带微型打…

怎么开发外贸网站

随着全球经济的发展&#xff0c;越来越多的企业选择走上国际化的道路&#xff0c;开展国际贸易业务。而外贸网站是一个相对常见的开展国际贸易业务的平台。那么&#xff0c;如何开发一款优秀的外贸网站呢&#xff1f; 首先&#xff0c;我们需要明确外贸网站的目标用户群体。由…

21. Unity - 2D游戏开发小计04 --- 2D摄像机跟随移动、精灵素材替换粒子特效、射线投射、音频特效播放、音频空间感效果

1. 摄像机跟随(Cinemachine插件)和视野边界设置 在2D游戏中如果想让摄像机跟随场景中的玩家角色进行移动,最简单的实现方式是可以使用一个插件 – Cinemachine进行设置: 首先在菜单栏中打开Package Manager资源管理窗口,然后选择Unity Registry,在右侧的搜索栏搜索下载安…

严格平稳、弱平稳、白噪声与渐进独立

严格平稳、弱平稳、白噪声与渐进独立 文章目录 严格平稳、弱平稳、白噪声与渐进独立[toc]1 严格平稳2 弱平稳3 白噪声4 渐进独立 1 严格平稳 严格平稳&#xff1a;给定随机过程 { x t } t 1 ∞ \{x_t\}_{t1}^\infty {xt​}t1∞​&#xff0c;对于任意 m m m个时期的集合 { t …

文案润色软件-文案润色的技巧

文案速成改编方法 文案速成改编方法是指通过快速的学习和掌握文案创作技巧&#xff0c;较快地编写出高质量的文案内容。以下是几种常见的文案速成改编方法&#xff1a; 模仿学习法&#xff1a;通过模仿优秀的文案作品&#xff0c;学习其语言、用词、句式等优秀的创作技巧&…

「北斗生态爆品榜单力荐活动」中奖名单公布

第一期北斗生态爆品榜单力荐活动已于4月28日圆满结束&#xff0c;现公布“分享有礼”板块的中奖信息。 恭喜以上获奖的朋友&#xff0c;千寻位置工作人员将联系各位&#xff0c;并在本周五内完成奖品的发放&#xff0c;请耐心等待哦。让我们共同期待下期活动吧&#xff01; 搜索…

从零开始的TensorFlow入门指南:构建第一个模型并可视化训练过程

当谈到深度学习框架时&#xff0c;TensorFlow是最流行的之一。它是一个由Google开发的开源框架&#xff0c;被广泛应用于图像识别、语音识别、自然语言处理和强化学习等领域。本篇文章将介绍TensorFlow的基本概念和入门步骤&#xff0c;帮助初学者快速掌握TensorFlow。 一、Ten…

C/C++每日一练(20230511) 公共前缀、打家劫舍、三数之和

目录 1. 最长公共前缀 &#x1f31f; 2. 打家劫舍 &#x1f31f;&#x1f31f; 3. 最接近的三数之和 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 最…

解决chatgpt网络错误,频繁掉线的问题,那就使用KeepChatGPT

文章目录 解决chatgpt出现An error occurred. If this issue persists please contact us through our help center at help.openai.com问题起因对比原作者github地址安装步骤浏览器要求安装油猴安装KeepChatGPT插件使用方法功能栏说明功能说明如下关于 取消审计 功能关于 调整…

centos安装docker教程

系统要求 1. 若是centos7&#xff0c;要求64位系统&#xff0c;内核版本为 3.10 以上 2. 若是centos6&#xff0c;要求64位系统&#xff0c;内核版本在2.6.32以上 安装步骤 1. cat /etc/os-release 查看系统版本&#xff0c;验证系统是否支持如下图&#xff08;我的是cento…

涉及红外的数据集

来源 红外和可见光的联合任务相关数据集 - 知乎 LLVIP Dataset(RGB-T Pedestrian Detection) Jia X, Zhu C, Li M, et al. LLVIP: A visible-infrared paired dataset for low-light vision[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2…

评估分类模型—混淆矩阵Confusion Matrix与评估指标

对于设计好的分类模型&#xff0c;需要大量的数据集来对其性能进行评估&#xff0c;因此了解评估指标是十分重要的。 评估分类模型的具体流程&#xff1a; 一、二分类混淆矩阵 Confusion Matrix 严格来说&#xff0c;对于二分类问题&#xff0c;没有标签&#xff0c;只有正例…

【C】模拟实现memcpy,memmove内存函数

目录 内存函数模拟实现 1、memcpy模拟实现 2、memmove模拟实现 3、测试案例代码 内存函数模拟实现 C 库函数 memcpy 从存储区 str2 复制 n 个字节到存储区 str1。这个函数在遇到\0的时候并不会停下来。如果str1和str2有任何的重叠&#xff0c;复制的结果都是未定义的。 me…

使用Notepad++对比两个文件代码方法

大家在使用Notepad的时候&#xff0c;需要对编辑的两个文件进行比较&#xff0c;找出两个文件代码的区别&#xff0c;快速进行编辑修改&#xff0c;那么Notepad如何对比文件&#xff0c;下面小编就给大家带来Notepad对比两个文件代码方法。 Notepad官方中文免费版&#xff1a;…

LinkedIn领英在什么情况下容易被封,提前学习避免进坑

领英在什么情况下容易被封 01.同一个人注册使用多个领英帐号。 02.多个人共同使用同一个领英帐号。 03.虚假资料注册领英账号&#xff0c;常见于注册领英账号的时候初始姓名随便填写或胡编乱造&#xff0c;注册时使用了网络虚拟的手机号码或邮箱等。 04.领英帐号的个人档案资料…

MySQL --- DQL --- 案例

DQL的基本语法分为五个部分已经学习完毕了&#xff0c;接下来运用所掌握的DQL语句的语法来完成两个案例。 1. 案例一 案例&#xff1a;根据需求完成员工管理的条件分页查询 分析&#xff1a;根据输入的条件&#xff0c;查询第1页数据 在员工管理的列表上方有一些查询条件&…

springMVC第一次作业及练习

1、首先我们导入网站的项目进行测试时网址直接输入教程给的localhost:8080/springmvc/index.jsp 会是一片空白&#xff0c;把jsp删掉就好。因为加上jsp会直接访问jsp页面&#xff0c;此时的页面没有被服务器处理。 2、测试无误后就开始跟教程走 两个xml文件的配置&#xff1a…

超实用的开源自动化测试框架强烈推荐

随着计算机技术人员的大量增加&#xff0c;通过编写代码来进行测试成为一种更为高效的测试方式&#xff0c;由此而诞生了以计算机语言为基础的自动化测试方案&#xff0c;当然测试工程师需要具备代码能力。 今天我们就结合当前的主流编程语言&#xff0c;分别三种环境下各自的自…

触摸屏与三菱PLC之间无线MODBUS通讯实例

在工厂里&#xff0c;触摸屏往往位于程控室内&#xff0c;作为控制多个不同位置PLC的主站设备。因为触摸屏和plc所处位置距离较为分散&#xff0c;重新铺设电缆线工期长&#xff0c;成本高&#xff0c;故采用无线方式解决触摸屏与PLC之间的通讯问题。 一、方案概述 本方案是威…