曾经做的一个JS小游戏——《Battle City》
今天改网盘密码时,找到了个很久前的东西:JavaScript版的坦克大战。07年的夏天制作花了好多个夜晚制作,那段着迷JS游戏的疯狂时光。但因为后来众多浏览器的出现,导致了游戏兼容性大大的下降,最终放弃了更新。
尽管到了如今HTML5大红大紫,不过要兼容主流浏览器,还是逃不过IE这关。如此说来,还不如纯粹的div+css制作的js应用兼容性最好了:)
之前也发过,但是当时因为找不到源码,所以从压缩过的JS反向修改回来,导致代码混乱不堪。之前做的尺寸很小,今天把图片放大了一倍,晚上闲着把关数增加到了原版35关。
(方向键:ASDW 射击:KL 连发:IO 确定:Enter 【第一次可以进入选关】)
(源链接:http://goo.gl/uex0x)
之前用jsmin压缩代码的,换成现在的google closure编译会出现问题。因此现在修改下框架结构和部分模块,现在可以用ADVANCED_OPTIMIZATIONS压缩了,如果有什么BUG留言。
整个工程4000行左右的代码,包括一个叫WebPlay的游戏库。用到的都是很基本方法和概念,总体并不复杂。对于初学OOP思想,或者游戏基本概念的,都可以参考下! 作为2012贺岁礼物分享给大家吧~
Source: http://files.cnblogs.com/index-html/BattleCity.rar

Demo

本文转自:http://www.cnblogs.com/index-html/archive/2011/12/31/js_battlecity.html
曾经做的一个JS小游戏——《Battle City》的更多相关文章
- 一个js小游戏----总结
花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...
- 制作一个 JavaScript 小游戏
简评: 作者学习了编程两个月,边学边做了一个 JavaScript 小游戏,在文中总结了自己在这个过程中的一些体会,希望能给其他初学者一些帮助. 对于很多想学编程但一直没下定决心的同学来说,最大的问题 ...
- “倔驴”一个h5小游戏的实现和思考(码易直播)——总结与整理
3月23日晚上8点半(中国队火拼韩国的时候),做了一期直播分享.15年做的一个小游戏,把核心代码拿出来,现场讲写了一遍,结果后面翻车了,写错了两个地方,导致运行效果有点问题,直播边说话边写代码还真不一 ...
- 用Python设计一个经典小游戏
这是关于Python的第9篇文章,介绍如何用Python设计一个经典小游戏:猜大小. 在这个游戏中,将用到前面我介绍过的所有内容:变量的使用.参数传递.函数设计.条件控制和循环等,做个整体的总结和复习 ...
- 如何在CentOS上安装一个2048小游戏
如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...
- 50行代码写的一个插件,破解一个H5小游戏
小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...
- JS小游戏-蓝色拼图
// a[href=#viewSource]"); //查看源代码标签 viewSourceArr.attr("title", "查看源代码"); v ...
- 第一个windows 小游戏 贪吃蛇
最近用dx尝试做了一个小的贪吃蛇游戏,代码放到github上面:https://github.com/nightwolf-chen/MyFreakout 说一下自己实现的过程: 首先,我把蛇这个抽象成 ...
- js小游戏:五子棋
使用纯js的小游戏,五子棋 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 用WPF做了几个小游戏
最近看书看累了,参考别人的代码(其实差不多就是把代码重新打了一遍o(╯□╰)o),用wpf做了个<2048>小游戏,顺便在<Git教程>学习下git,也顺便把在<写让别人 ...
随机推荐
- Java并发之volatile关键字内存可见性问题
Java并发之volatile关键字内存可见性问题 线程之间数据共享案例 我们先来看一个场景: Main函数启动后,调用一个线程向list中添加数据.List的size为5的时候,设置变量flag为t ...
- 鸿蒙系统(HarmonyOS)全局弹窗实现
全局弹窗相对于自定义弹窗有以下优点: 封装更彻底,一行代码就能调用 跟组件耦合度低,只需要传入组件的UIContext对象,不需要跟自定义弹窗一样需要在组件内部实例化CustomDialogContr ...
- DOM – Web Animation API
前言 以前写过相关的文章 angular2 学习笔记 ( animation 动画 ).但在项目种很少用到 Web Animation. 体会不到它的精髓,目前的感觉是,它对比 CSS Animati ...
- TypeScript – Get Started
前言 我学 TypeScript 的时候是 Angular 2.0 beta 的年代... 现在 Angular 都快 14 了. 但由于已经有 1 年半没有写 Angular 和 TypeScrip ...
- BOOST 环形队列circular_buffer
BOOST库的环形队列比较灵活,前插或后插,删除队首或删除队尾元素,都支持. 只贴代码: #include <boost/circular_buffer.hpp> #include < ...
- PMP——如何区分项目启动会和开踢会?
在PMP考试中非常强调两个重要会议,一个叫做启动会(Initiating Meeting),另一个叫做开踢会议(Kick-off Meeting),俗称两会. 项目启动会的作用是通过发布项目章程来授权 ...
- spring上 -基于Xml配置bean笔记
4,Spring 内容 7,快速入门 需求:通过 Spring 的方式[配置文件], 获取 JavaBean: Monster 的对象, 并给该的对象属性赋值, 输出该对象信息. 代码结构: lib ...
- Android Qcom USB Driver学习(四)
VID/PID识别USB设备 CDC-ACM驱动介绍 CDC-ACM(Communication Device Class--Abstract Control Model)驱动实现以USB设备驱动和t ...
- 使用zipkin配置spring boot的链路器(httpclient、restTemplate)
一.首先导入zipkin需要的依赖 <!--zipkin-brave start--> <dependency> <groupId>io.zipkin.brave& ...
- Oracle新增日志组成员
Oracle新增日志组成员 查询当前的日志组信息: sql SELECT * FROM v$log; 查询日志组对应的日志文件: sql SELECT * FROM v$logfile; 查询日志组的 ...