撑100s小游戏
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
* {
padding: 0px;
margin: 0px;
}
.div-container {
position: relative;
height: 400px;
width: 400px;
left: 200px;
top: 0px;
border: 1px solid gray;
box-sizing: border-box;
overflow: hidden;
z-index: 100;
}
.span-dian {
position: absolute;
background: black;
height: 2px;
width: 2px;
overflow: hidden;
}
.mydiv {
position: absolute;
height: 10px;
width: 10px;
background-color: black;
top: 0px;
left: 0px;
}
.div-die{
color:red;
font-size:2em;
font-weight:bold;
}
</style>
</head>
<body>
<div class="div-container"><div class="mydiv"></div></div>
<div>你的分数:<span id="span-grade"></span></div>
<div class="div-die">撑100s</div>
<button onclick="refresh()">重新开始</button>
</body>
</html>
<script type="text/javascript">
var n = 1;//障碍个数
var grades = 0;//成绩
var startArry = [];//开始位置数组
var speed = 5000;//游戏速度
var count = 100;//障碍个数
var myCon = [];//玩家控制的坐标
getMyCon(0, 0);//配置玩家控制的坐标
var flag = false;
function getMyCon(myLeft, myTop) {
myCon = [];
myLeft = myLeft * 1;
myTop = myTop * 1;
for (var myi = myLeft ; myi < myLeft + 10; myi++) {
for (var myj = myTop; myj < myTop + 10; myj++) {
myCon.push([myi, myj]);
}
}
}
//配置开始位置数组
for (var i = 0; i <= 400; i++) {
startArry.push([-2, i]);
startArry.push([402, i]);
startArry.push([i, -2]);
startArry.push([i, 402]);
}
//鼠标控制移动
$(".div-container").mousemove(function (e) {
e = event || e;
var mouseX = e.clientX * 1 - parseInt($(this).css("left")) - 5;
var mouseY = e.clientY * 1 - parseInt($(this).css("top")) - 5;
getMyCon(mouseX, mouseY);
$(".mydiv").css({ left: mouseX, top: mouseY });
})
//添加障碍数量
var s = setInterval("add()", count);
function add() {
var startIndex = Math.floor(Math.random() * 1600);
var endIndex = Math.floor(Math.random() * 1600);
$(".div-container").append("<span class='span-dian' title='" + n + "' style='top:" + startArry[startIndex][0] + "px;left:" + startArry[startIndex][1] + "px'></span>");
$(".span-dian").each(function () {
if ($(this).attr("title") == n) {
$(this).animate({ top: startArry[endIndex][0], left: startArry[endIndex][1] }, speed, function () { $(this).remove() });
n++;
}
})
}
//慢慢增加游戏障碍数量
setInterval("Start()", 1000);
function Start() {
clearInterval(s);
if (count > 10) {
count = count - 5;
}
s = setInterval("add()", count);
}
//判断是否死亡
setInterval("fnDie()", 1);
function fnDie() {
if (flag) {
return false;
}
$(".span-dian").each(function () {
var x = parseInt($(this).css("left"));
var y = parseInt($(this).css("top"));
for (var sss = 0; sss < myCon.length; sss++) {
if (myCon[sss][0] == x && myCon[sss][1] == y) {
flag = true;
console.log(myCon[sss][0] + "," + myCon[sss][1])
console.log(x+ "," + y)
break;
}
}
})
if (flag) {
$(".div-die").html("you are die!");
clearInterval(g);
}
}
//计算成绩
var g = setInterval(function () { grades = grades * 1 + 0.01; $("#span-grade").html(grades.toFixed(2)) }, 10);
function refresh() {
history.go(0);
}
</script>
撑100s小游戏的更多相关文章
- “倔驴”一个h5小游戏的实现和思考(码易直播)——总结与整理
3月23日晚上8点半(中国队火拼韩国的时候),做了一期直播分享.15年做的一个小游戏,把核心代码拿出来,现场讲写了一遍,结果后面翻车了,写错了两个地方,导致运行效果有点问题,直播边说话边写代码还真不一 ...
- 近期微信上非常火的小游戏【壹秒】android版——开发分享
近期在朋友圈,朋友转了一个html小游戏[壹秒],游戏的规则是:用户按住button然后释放,看谁能精准地保持一秒的时间.^_^刚好刚才在linuxserver上调试程序的时候server挂了,腾出点 ...
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- 拼图小游戏之计算后样式与CSS动画的冲突
先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
- 如何开发一个简单的HTML5 Canvas 小游戏
原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...
- JavaScript版拼图小游戏
慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...
- C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
- Cocos2d-x 版本小游戏 《是男人就下100层》 项目开源
这个是很久就开始动手写的一个小游戏了,直到最近才把它收尾了,拖拖拉拉的毛病总是很难改啊. 项目是基于 cocos2d-x v2.2 版本 ,目前只编译到了 Win8 平台上,并且已经上传到了商店,支持 ...
随机推荐
- DTD总结
DTD 可以检测 XNM 文档的结构是否正确,就好像文章中用来保证结构正确的语法规则一样. 引入 DTD 1.引入私有的 DTD 文件,URI 可以使相对地址或绝对地址 <!DOCTYPE 根元 ...
- thinkphp3.2.3之自动完成的实现
有时候,我们希望系统能够帮我们自动完成一些功能,比如自动为密码加密,忽略空等,这个时候我们就需要利用到自动完成(填写)的功能. ThinkPHP 模型层提供的数据处理方法,主要用于数据的自动处理和过滤 ...
- UI第十五节——UIWebView
- (void)viewDidLoad { [super viewDidLoad]; UIWebView *webView = [[UIWebView alloc] initWithFra ...
- Discuzx系统 CSS 编码规范,CSS属性书写顺序
1. 属性写在一行内,属性之间.属性名和值之间以及属性与“{}”之间须有空格,例如:.class { width: 400px; height: 300px; } 2. 属性的书写顺序: ...
- LwIP移植和使用
LwIP移植和使用 本手册基于lwip-1.4.x编写,本人没有移植过1.4.0之前的版本,更早的版本或许有差别.如果看官发现问题欢迎联系<QQ: 937431539 email: 93743 ...
- jq小插件--方便设置css属性
$.fn.extend({ setCss:function(name,value){ $(this).css(name,value) } }) 调用方式,如: $('.login-btn').setC ...
- php之获取程序源码的方法
文件hello.php和index.php在同一目录 hello.php <?php class hello{ public function __construct() { echo 'hel ...
- Sublime Text 2 增加python版本
当系统中装有多个python版本时,Sublime Text 2 使用哪个版本需要手动添加 键入一下内容,path输入python的安转路径 保存至Python27.sublime-build文件 ...
- windo phone8.1 样式的基本使用(一)
样式的基本使用(一) 当一个项目中有多个控件出现相同的属性设置,那么可以使用以下解决办法 方法一: <Page.Resources> <!--向资源字典中添加一个键为Buttongr ...
- 【MongoDB】 Windows 安装
Windows下安装MongoDB,虽然网上有很多攻略,但是还是有很多坑,为了以后少犯错误,特此记录. 1.下载安装包 https://fastdl.mongodb.org/win32/mongodb ...