我正在参加掘金社区游戏创意投稿大赛个人赛,详情请看:游戏创意投稿大赛

我正在参加 码上掘金体验活动,详情:show出你的创意代码块

前言

《抓船长》:是一款pc端单机html小游戏,休闲娱乐游戏;无需键盘操作,只有鼠标,把船长快乐抓抓抓!

一、游戏介绍与规则

技术介绍

css + jq

游戏名称

《抓船长》

游戏规则

时间倒计时:30s.(默认滑入模式)

① 滑入模式,鼠标滑到就是抓到,抓到就是得分!

② 点击模式,鼠标滑到船长处,然后单击鼠标,方可得分!

二、大体设计与代码讲解

大体设计

大体设计就是,比较简单,就是创建4x4个宫格子;每个格子同一个方法,放一个船长到一个格子里;鼠标滑入格子,匹配该格子的位置和船长出现的格子位置是否正确,正确加分;同时,船长会跑去别的格子…以次,30s内,找到多少只船长~

代码讲解

由于代码也比较简单,而且也有注释;就直接上完整的代码啦~

var type = 1; // 1滑入模式;2点击模式
var time = 30;
let that = this;
var result = 0;
that.createPuzzleTable(); // 创建表格,“画”表格
var isStart = false;
var theCaptainPosition = -1; // 船长的位置
// 切换模式
function bindType(e) {if (isStart) {// 当前已经开始游戏,不可创建return;}// console.log(e)var theType = e.getAttribute("data-value");if (theType == 1) {e.setAttribute("data-value", "2");$("#gameType").text("点击模式");type = 2;} else {e.setAttribute("data-value", "1");$("#gameType").text("滑入模式");type = 1;}
}
// 创建表格,“画”表格
function createPuzzleTable() {$pt = $('<table>').attr('id', 'puzzleTable');for (var y = 0; y < 4; y++) {var $row = $pt.append($('<tr>'));for (var x = 0; x < 4; x++) {$row.children().append($('<td class="td" οnclick="clickSpan(this)" οnmοuseenter="enterSpan(this)" οnmοuseleave="leaveSpan(this)" data-value=' + (y * 4 + x) + '>').text(y * 4 + x + 1));}}$('#catch-body').append($pt);
}// 开始游戏
function start() {if (isStart)return;if (time == 30) { //如果不加入该判断,则会出现在倒计时期间不断的点击发生不断的加快(其实就是你点了多少次就重复多少次该函数)的问题,用setTimeout()方法不加此判断也是一样的var time1 = setInterval(function() {if (time == 0) {$("#gameStart").text("再来一把");$("#gameStart").removeAttr("disabled");time = 30;clearInterval(time1);isStart = false;that.gameOver();} else {$("#gameStart").attr("disabled", "true");$("#gameStart").text("倒计时(" + time + ")");time--;}}, 1000);// 随机的船长randomCaptain();isStart = true;}}// 游戏结束
function gameOver() {alert("游戏结束,您的最终分数:" + result);result = 0;
}// 生成随机的船长
function randomCaptain() {var tdList = $('.td');if (tdList == undefined || tdList.length == 0) {// console.log("出错了!")return;}var size = tdList.length;var randomNum = Math.floor(Math.random() * size);var lastImg = tdList[randomNum].style.backgroundImage;while (lastImg != "") {randomNum = Math.floor(Math.random() * size);lastImg = tdList[randomNum].style.backgroundImage;}for (var i = 0; i < size; i++) {tdList[i].style.backgroundImage = "";}that.theCaptainPosition = randomNum;tdList[randomNum].style.backgroundImage = 'url("https://p9-passport.byteacctimg.com/img/user-avatar/2ee55cb1e7f476ace6a73fc86a8ff7e2~300x300.image")';// console.log(size);// console.log(tdList);// console.log(tdList[randomNum])
}// 判断是否抓到的是船长
function bindCatch(theNumber) {// console.log(theCaptainPosition);// console.log(theNumber)if (theNumber == theCaptainPosition) {// console.log("加一分!");result++;$("#result").text(result);randomCaptain();}
}// 点击模式
function clickSpan(e) {console.log(type, isStart)if (!isStart || type == 1) { // 当前未开始或滑入模式,不需要点击return;}var theNumber = e.getAttribute("data-value");that.bindCatch(theNumber);
}// 鼠标滑入
function enterSpan(e) {e.style.border = "1px solid #66d3ff";if (!isStart || type == 2) { // 未开始或是点击模式不操作return;}// console.log(result)// console.log("滑入", e);var theNumber = e.getAttribute("data-value");that.bindCatch(theNumber);
}// 鼠标滑出
function leaveSpan(e) {e.style.border = "1px solid #000000";if (!isStart) {return;}// console.log("离开", e);
}

三、仓库地址与体验地址

这里代码片段展示(布局不会弄,太拉了~ alter 弹窗不支持,最好去网站体验~)
代码片段

  (没有做适配,很抱歉~ 手机端也不友好。献丑了~ )
  大家可以直接来笔者的网站来体验

  在线体验(pc端):体验传送门
  仓库地址:等建好活动GitHub的要求申请了,就给大家放(着急想要的可以直接去扒我的网站) 传送门

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》

  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)

【休闲益智】【HTML】抓船长,30s抓船长,看能抓几只相关推荐

  1. 抓取百度页面html,百度会抓取页面代码中的注释内容吗

    百度会抓取页面代码中的注释内容吗 内容导读:百度会抓取页面代码中的注释内容吗?答案是百度会抓取,但是在提取正文的时候会直接忽略掉,也就是说页面代码的注释内容不会影响到页面质量,所以大家尽管放心. 问题 ...

  2. tcpdump抓两个网卡的包_tcpdump 抓包统计 分享助,请问用tcpdump抓包后,如何查看每个包...

    如何用tcpdump抓包统计流量 TCPDUMP 抓包 怎么查看 抓的包的内容小编们每天忙忙碌碌,谁还记得小时候那些大大"的梦想.多久,没有停下脚步,哪怕只是单纯的晒晒太阳.现在的人,科技先 ...

  3. python抓取交易所_Python百行代码抓取美股三大交易所历史数据

    最近闲来无事,琢磨着去投资下美股,投资嘛,当然得先分析下市场行情个股行情啦, 分析就需要有数据,那么数据从哪里来呢,当然是从交易所官方网站获取咯.自己动手丰衣足食,于是花了点时间写个Python脚本来 ...

  4. android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

    一.HTTP协议和HTTPS协议. (1) HTTPS协议=HTTP协议+SSL协议,默认端口:443 (2) HTTP协议(HyperText Transfer Protocol):超文本传输协议. ...

  5. 安卓抓包软件_你们要的抓包神器!以及抓包原理

    昨天讲到 农行提固定额度失败原因查看方法! 发现好多卡友对这个抓包很有兴趣,今天就着重讲讲抓包的流程. 先讲讲这个抓包的原理:我们手机里面的银行app和服务器连接,把银行app看成是A,把服务器看成是 ...

  6. charles浏览器抓包https_十分钟学会Charles抓包(iOS的http/https请求)

    Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 2. HTTP抓包 (1)查看电脑IP地址 Help→Local IP Address查看本机地址 电脑IP地址 (2)设置 ...

  7. 服务器处理蜘蛛抓取网页的过程,搜索引擎蜘蛛抓取页面过程图解

    学习seo的人经常在网上看到一句话:搜索引擎蜘蛛跟浏览器差不多,都是抓取页面.那么到底哪些一样哪些不一样?Ethan就通过浏览器帮助大家理解搜索引擎蜘蛛怎样抓取页面. 首先看一张图,是用firebug ...

  8. 免费网站数据抓取插件,可视化页面数据抓取插件

    网站页面数据抓取插件,允许我们将数据从网站直接抓取到我们的本地或者页面.网站网页数据抓取(也称为ScreenScraping.WebDataExtraction.WebHarvesting等)是一种用 ...

  9. fiddler抓包指南(浏览器、app抓包及证书安装)

    注意:所有抓包过程中使用无痕浏览器 1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开启,进行抓包: Capturing关闭,停止抓包: 如下图: 1.2 对浏览器 ...

最新文章

  1. 中国大陆集成电路芯片领域各个细分代表企业
  2. Cell: 为了PK抗生素而服用益生菌?后果竟然如此严重
  3. 2020年班级管理html,2020年七年级班主任工作计划
  4. 【深度学习】一文看懂 (Transfer Learning)迁移学习(pytorch实现)
  5. k8s集群资源监控-监控指标和方案---K8S_Google工作笔记0052
  6. Guest与virtio netdev交互模式
  7. ocienvcreate php 失败_win7 homebasic下,.net2008 连接oracle,提示错误OCIEnvCreate
  8. Python Bug: TypeError: a bytes-like object is required, not ‘str
  9. 网络协议 18 - CDN:家门口的小卖铺
  10. Rust Async: Pin概念解析
  11. 【2015-2016,我在路上】
  12. 发送邮件被退回,提示: Helo command rejected: Invalid name 错误
  13. LSD-SLAM论文总结
  14. 阿里淘咖啡火了 全球九大无人便利店物联网技术方案详解
  15. 汇编实验——乐曲程序(两只老虎)
  16. Windows 窗口发送消息参数详解
  17. 大学计算机信息技术实验教程,计算机信息技术实验教程.pdf
  18. Differentially Private Deep Learning with Iterative Gradient Descent Optimization
  19. 《程序员修炼之道》读书笔记(二)--第三周
  20. 讲解电脑重装系统后硬盘消失要如何解决

热门文章

  1. 用Modernizr和Yepnope进行递归增强
  2. word操作小技巧之插入多行与重复操作以及高级查找功能
  3. 英语形容“漂亮女孩”知多少
  4. c/c++中保留两位有效数字
  5. 正则表达式匹配数字和空白
  6. Android定时器Timer
  7. 脑-机接口辅助脑卒中后康复
  8. 关于读书分享会的一些想法
  9. js 所有分割截取总结
  10. 入冬后学会穿羽绒服才是时尚之道,女星都这么穿!