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吃豆豆游戏代码,吃豆豆小游戏相关推荐

  1. c++编写手机小游戏代码_经典小游戏大集合(C++ 源码)

    [实例简介] 五子棋 贪吃蛇 俄罗斯方块 黑白棋 连连看 推箱子 扫雷等7个小游戏 C++源码 VC6.0 下编译运行. [实例截图] [核心代码] 经典小游戏大集合(C源码) └── 经典小游戏大集 ...

  2. c语言小游戏代码(c语言小游戏代码简单)

    c语言编写小游戏请提供俄罗斯方块,坦克大战之类的小游戏的程序的c 应该是做出方块函数 然后以 这个方块 为单位 绘制 俄罗斯方块的 积木图形 ,在制作游戏界面的时候 也以方块长度为单位长度绘制 二维数 ...

  3. python简单小游戏代码教程,python小游戏程序源代码

    球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...

  4. python小游戏代码大全-python小游戏实现代码

    早上逛CSDN首页就见到这么一篇教程.看了一下很有意思,就马上动手实现了一下.看看效果吧: 完整代码: # -*- coding: utf-8 -*- # 1 - Import library imp ...

  5. python小游戏代码大全-20行python代码的入门级小游戏的详解

    背景: 作为一个python小白,今天从菜鸟教程上看了一些python的教程,看到了python的一些语法,对比起来(有其他语言功底),感觉还是非常有趣,就随手添了一点内容,改了一个小例程,当着练练手 ...

  6. java2048小游戏源码及解析_200行java代码实现2048小游戏

    本文实例为大家分享了java实现2048小游戏的具体代码,供大家参考,具体内容如下 效果图: 游戏介绍: 1.2048是一款益智类小游戏,刚开始随机出现两个数字,可以上下左右控制数字的移动. 2.当选 ...

  7. Java控制台游戏~600行代码实现打怪小游戏

    Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...

  8. Java代码编写猜拳小游戏

    Java代码编写猜拳小游戏 import java.util.Random; import java.util.Scanner;public class Guess {public static vo ...

  9. Cocos creator小游戏实现套牛小游戏资源及代码

    Cocos creator实现套牛小游戏资源及代码 一 安装CocosDashBoard 二 新建2D项目RunCow 1.管理项目目录 2.搭建界面 三 上线微信小游戏 1.上线微信小游戏 2.Co ...

  10. Cyberpunk2077—赛博朋克2077 中代码矩阵解密小游戏之最优解寻找

    Cyberpunk2077-赛博朋克2077 代码矩阵解密小游戏之最优解寻找 解密小游戏描述 基本规则 问题描述 问题解决算法 结果展示 代码分享 解密小游戏描述 赛博朋克2077中有个很有意思的小解 ...

最新文章

  1. 人工智能在消费领域,都做了哪些事?
  2. sphinx是支持结果聚类的
  3. 蓝点lilac / ContextMenuManager:win10右键菜单清理工具
  4. 【nyoj - 860】 又见0-1背包 (dp,反向0-1背包,好题好思路)
  5. 遍历Map要选择好的遍历方式(洛谷P1097题题解,Java语言描述)
  6. 逆向工程平台 Radare2
  7. Oracle创建上下文 SYS_CONTEXT
  8. Tuxedo中间件学习
  9. linux运行关关采集器,杰奇小说2.3-自动采集-关关采集器高级版
  10. 黑莓Z10忘记BBID密码导致手机锁定解决方案
  11. VS、Unity安装和使用Nuget包
  12. 在 CentOS 中部署 KMS 服务器(vlmcsd)
  13. Java十二平均律判断
  14. 【王木头学科学|深度学习】3.神经网络是什么?如何直接理解它的能力极限?它是如何无线逼近真理的
  15. Roles of financial reporting standard-setting bodies and regulatory authorities
  16. 日语学习之——五十音图及单词(2)
  17. 1525D. Armchairs
  18. M5Product: Self-harmonized Contrastive Learning for E-commercial Multi-modal Pretraining 论文解读
  19. MPU6050陀螺仪 GY-25模块调试
  20. String数组拆分

热门文章

  1. office 2021安装教程+下载
  2. 无线系列-无线通信频段与电波传播
  3. CreateThread与_beginthread 内存泄漏的本质
  4. _beginthread
  5. 2017西安网络赛 计蒜客 Trig Function 切比雪夫多项式
  6. 听说某琳系统停止更新了,其他的主机管理系统哪个好?
  7. 如何进行宽带测速,教程来啦!怎样在电脑上对宽带进行测速?
  8. mw150um 驱动程序win10_Intel网卡驱动Win10官方下载_Intel网卡驱动Win10专版64位官方安装版-华军软件园...
  9. Windows Azure AppFabric Caching入门简介
  10. mysql handlersocket,MySQL-HandlerSocket交易