html吃豆豆游戏代码,吃豆豆小游戏
HtmlCssJs
点击黑块开始
body {
overflow:hidden;
height:500px;
}
#player {
position:absolute;
background:black;
width:100px;
height:100px;
z-index:900;
}
#gift {
position:absolute;
background:green;
width:20px;
height:20px;
}
.enemy {
position:absolute;
background:red;
width:30px;
height:30px;
}
#container {
position:absolute;
width:95%;
height:95%;
}
#score {
position:absolute;
z-index:-1;
width:100%;
height:600px;
line-height:600px;
text-align:center;
font-size:200px;
color:lightgray;
-webkit-user-select:none;
-moz-user-select:none;
-khtml-user-select:none;
-ms-user-select:none;
}
#time {
position:absolute;
z-index:-1;
width:100%;
height:600px;
top:60%;
left:50px;
z-index:9999;
font-size:30px;
}
#btn {
position:absolute;
top:50%;
left:50%;
margin-left:-150px;
margin-top:-100px;
border:hidden;
color:white;
background:gray;
width:300px;
height:200px;
font-size:40px;
}
p {
font-size:40px;
}
var score = 0; //分数
var isSpawn = false; //是否生成了敌人
var isHit = false; //是否碰撞敌人
var time = 30; //游戏时间
var isFirst = true;
//物体移动
var player = document.getElementById("player");
//触屏点击
function touchStart(event) {
alert("!!!");
event.preventDefault();
if (player || !event.touches.length) return;
var touch = event.touches[0];
startX = touch.pageX;
startY = touch.pageY;
if (player.style.left < startX < player.style.left + player.style.width && player.style.top < startY < player.style.top + player.style.height) {
//表示点击到黑块
alert("!!!");
}
}
function touchMove(event) {
event.preventDefault();
if (!player || !event.touches.length) return;
var touch = event.touches[0];
var x = touch.pageX - startX;
var y = touch.pageY - startY;
player.style.top = y + "px";
player.style.left = x + "px";
hitgift();
if (!isSpawn) {
SpawnEnemy();
}
hitenemy();
}
player.onclick = function(ev) {
if (isFirst) {
desctime();
isFirst = false;
var p = document.getElementById("p");
p.remove();
player.style.display = "inline";
}
var e = ev || window.event;
var distanceX = e.clientX - player.offsetLeft;
var distanceY = e.clientY - player.offsetTop;
document.onmousemove = function(ev) {
var e = ev || window.event;
var left = e.clientX - distanceX;
var top = e.clientY - distanceY;
player.style.top = top + "px";
player.style.left = left + "px";
//碰撞gift
hitgift();
if (!isSpawn) {
SpawnEnemy();
}
hitenemy();
}
}
//碰撞gift函数
function hitgift() {
var gift = document.getElementById("gift");
var player = document.getElementById("player");
var t1 = gift.offsetTop;
var l1 = gift.offsetLeft;
var r1 = gift.offsetLeft + gift.offsetWidth;
var b1 = gift.offsetTop + gift.offsetHeight;
var t2 = player.offsetTop;
var l2 = player.offsetLeft;
var r2 = player.offsetLeft + player.offsetWidth;
var b2 = player.offsetTop + player.offsetHeight;
if (b1 < t2 || l1 > r2 || t1 > b2 || r1 < l2) { // 表示没碰上
} else {
score++;
//会慢慢长大
player.style.width = player.offsetWidth + 3 + "px";
player.style.height = player.offsetHeight + 3 + "px";
isSpawn = false;
var scoreplace = document.getElementById("score");
scoreplace.innerHTML = "Score:" + score;
var top = Math.round(Math.random() * 100);
var left = Math.round(Math.random() * 100);
gift.style.top = top + "%";
gift.style.left = left + "%";
}
}
//碰撞敌人函数
function hitenemy() {
var enemys = document.getElementsByClassName("enemy");
var player = document.getElementById("player");
if (enemys.length > 0) {
for (var e = 0; e < enemys.length; e++) {
var t1 = enemys[e].offsetTop;
var l1 = enemys[e].offsetLeft;
var r1 = enemys[e].offsetLeft + gift.offsetWidth;
var b1 = enemys[e].offsetTop + gift.offsetHeight;
//console.log(enemys.length);
var t2 = player.offsetTop;
var l2 = player.offsetLeft;
var r2 = player.offsetLeft + player.offsetWidth;
var b2 = player.offsetTop + player.offsetHeight;
if (b1 < t2 || l1 > r2 || t1 > b2 || r1 < l2) { // 表示没碰上
} else {
score -= 3;
if (score < 0) {
document.onmousemove = null;
document.onmousedown = null;
gameover();
break;
}
var scoreplace = document.getElementById("score");
scoreplace.innerHTML = "Score:" + score;
enemys[e].remove();
//碰撞到敌人,则生成两个
Spawn();
Spawn();
player.style.width = player.offsetWidth + 5 + "px";
player.style.height = player.offsetHeight + 5 + "px";
}
}
}
}
//敌人生成函数
function SpawnEnemy() {
//每五分生成一个敌人
if (score % 4 == 0 && score > 0) {
Spawn();
}
isSpawn = true;
}
function Spawn() {
var container = document.getElementById("container");
var enemy = document.createElement("div");
enemy.className = "enemy";
var top = Math.round(Math.random() * 100);
var left = Math.round(Math.random() * 100);
enemy.style.top = top + "%";
enemy.style.left = left + "%";
container.appendChild(enemy);
}
//gift随机位置
window.onload = function() {
var top = Math.round(Math.random() * 100);
var left = Math.round(Math.random() * 100);
var gift = document.getElementById("gift");
gift.style.top = top + "%";
gift.style.left = left + "%";
//游戏时间为30S
}
//function start() {
//var btn = document.getElementById("btn")
//btn.remove();
//var player = document.getElementById("player");
//player.style.display = "inline";
//desctime();
//
//}
//倒计时
function desctime() {
time -= 1;
setTimeout("desctime()", 1000);
var T = document.getElementById("time");
T.innerHTML = "剩余时间:" + time;
if (time == 0) {
document.onmousemove = null;
document.onmousedown = null;
gameover();
}
}
function gameover() {
alert("GameOver!");
alert("你的分数:" + score);
location.reload();
}
↑上面代码改变,会自动显示代码结果
jQuery调用版本:1.11.3
html吃豆豆游戏代码,吃豆豆小游戏相关推荐
- c++编写手机小游戏代码_经典小游戏大集合(C++ 源码)
[实例简介] 五子棋 贪吃蛇 俄罗斯方块 黑白棋 连连看 推箱子 扫雷等7个小游戏 C++源码 VC6.0 下编译运行. [实例截图] [核心代码] 经典小游戏大集合(C源码) └── 经典小游戏大集 ...
- c语言小游戏代码(c语言小游戏代码简单)
c语言编写小游戏请提供俄罗斯方块,坦克大战之类的小游戏的程序的c 应该是做出方块函数 然后以 这个方块 为单位 绘制 俄罗斯方块的 积木图形 ,在制作游戏界面的时候 也以方块长度为单位长度绘制 二维数 ...
- python简单小游戏代码教程,python小游戏程序源代码
球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...
- python小游戏代码大全-python小游戏实现代码
早上逛CSDN首页就见到这么一篇教程.看了一下很有意思,就马上动手实现了一下.看看效果吧: 完整代码: # -*- coding: utf-8 -*- # 1 - Import library imp ...
- python小游戏代码大全-20行python代码的入门级小游戏的详解
背景: 作为一个python小白,今天从菜鸟教程上看了一些python的教程,看到了python的一些语法,对比起来(有其他语言功底),感觉还是非常有趣,就随手添了一点内容,改了一个小例程,当着练练手 ...
- java2048小游戏源码及解析_200行java代码实现2048小游戏
本文实例为大家分享了java实现2048小游戏的具体代码,供大家参考,具体内容如下 效果图: 游戏介绍: 1.2048是一款益智类小游戏,刚开始随机出现两个数字,可以上下左右控制数字的移动. 2.当选 ...
- Java控制台游戏~600行代码实现打怪小游戏
Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...
- Java代码编写猜拳小游戏
Java代码编写猜拳小游戏 import java.util.Random; import java.util.Scanner;public class Guess {public static vo ...
- Cocos creator小游戏实现套牛小游戏资源及代码
Cocos creator实现套牛小游戏资源及代码 一 安装CocosDashBoard 二 新建2D项目RunCow 1.管理项目目录 2.搭建界面 三 上线微信小游戏 1.上线微信小游戏 2.Co ...
- Cyberpunk2077—赛博朋克2077 中代码矩阵解密小游戏之最优解寻找
Cyberpunk2077-赛博朋克2077 代码矩阵解密小游戏之最优解寻找 解密小游戏描述 基本规则 问题描述 问题解决算法 结果展示 代码分享 解密小游戏描述 赛博朋克2077中有个很有意思的小解 ...
最新文章
- 人工智能在消费领域,都做了哪些事?
- sphinx是支持结果聚类的
- 蓝点lilac / ContextMenuManager:win10右键菜单清理工具
- 【nyoj - 860】 又见0-1背包 (dp,反向0-1背包,好题好思路)
- 遍历Map要选择好的遍历方式(洛谷P1097题题解,Java语言描述)
- 逆向工程平台 Radare2
- Oracle创建上下文 SYS_CONTEXT
- Tuxedo中间件学习
- linux运行关关采集器,杰奇小说2.3-自动采集-关关采集器高级版
- 黑莓Z10忘记BBID密码导致手机锁定解决方案
- VS、Unity安装和使用Nuget包
- 在 CentOS 中部署 KMS 服务器(vlmcsd)
- Java十二平均律判断
- 【王木头学科学|深度学习】3.神经网络是什么?如何直接理解它的能力极限?它是如何无线逼近真理的
- Roles of financial reporting standard-setting bodies and regulatory authorities
- 日语学习之——五十音图及单词(2)
- 1525D. Armchairs
- M5Product: Self-harmonized Contrastive Learning for E-commercial Multi-modal Pretraining 论文解读
- MPU6050陀螺仪 GY-25模块调试
- String数组拆分
热门文章
- office 2021安装教程+下载
- 无线系列-无线通信频段与电波传播
- CreateThread与_beginthread 内存泄漏的本质
- _beginthread
- 2017西安网络赛 计蒜客 Trig Function 切比雪夫多项式
- 听说某琳系统停止更新了,其他的主机管理系统哪个好?
- 如何进行宽带测速,教程来啦!怎样在电脑上对宽带进行测速?
- mw150um 驱动程序win10_Intel网卡驱动Win10官方下载_Intel网卡驱动Win10专版64位官方安装版-华军软件园...
- Windows Azure AppFabric Caching入门简介
- mysql handlersocket,MySQL-HandlerSocket交易