捉迷藏的运营大大们之[翻牌]剖析

简介: 在队长战场小包和队员Ylimhs的齐心协力下,捉迷藏的运营大大们的小游戏算是成功上线了,之前队长战场小包有对整个游戏的总体进行了一个大概的介绍和主要模块的展示,那今天由我来带大家看看,我们当初是如何设计翻牌模块的。

微信截图_20220531220337.png

前言


在队长战场小包和队员Ylimhs的齐心协力下,捉迷藏的运营大大们的小游戏算是成功上线了,之前队长战场小包有对整个游戏的总体进行了一个大概的介绍和主要模块的展示,那今天由我来带大家看看,我们当初是如何设计翻牌模块的。


一.游戏的设计思路


其实大家也看出来了,这个是扫雷的变种版,所以核心的设计思想还是再不触碰到'雷'的前提下,把事先设置好的所有运营'找出来',全部找到则代表赢得胜利,反之则失败。


二.游戏效果和体验地址


1)游戏效果


2)体验地址:

体验地址


三.主要剖析的点


1.如何实现鼠标点击后,小方块翻面及判断是否是'雷'


1)进入页面后会预先随机生成小方块并随机给这些小方块赋值,可能是某个运营也可能是'雷',如下图所显示的这么一个效果

微信截图_20220531220505.png


2)鼠标点击小方块后,小方块翻面,包含踩雷判断


3)AC代码:

function clickTile(tile) {
//当点击每个小方块的时候都会做如下判断
1.该方块是否已被点击,即已经翻面,显示数字或运营头像
2.该方块是否已被标记,即插上旗帜
  if (
    tile.classList.contains("tile--checked") ||
    tile.classList.contains("tile--flagged") ||
    tile.classList.contains("flipped")
  )
    return;
  tile.classList.add("flipped");
  let coordinate = tile.getAttribute("data-id");
  let isMine = tile.getAttribute("data-tile");
  if (isMine) {
    gameOver = true;
    //如果触碰到'雷'或者将所有运营找到则游戏结束,显示相应文案
    endGame(tile);
  } else {
    let num = tile.getAttribute("data-num");
    if (num != null) {
      tile.classList.add("tile--checked");
      tile.querySelectorAll(".face")[2].innerHTML = num;
      tile.querySelectorAll(".face")[2].style.color = numberColors[num - 1];
      setTimeout(() => {
        checkVictory();
      }, 100);
      return;
    }
    //
    checkTile(tile, coordinate);
  }
  tile.classList.add("tile--checked");
}
复制代码


四.在游戏的开发中遇到了哪些问题&解决方案


1)在初始3D效果化小方块时前期的效果渲染很慢,一卡一卡的,非常影响体验


解决方案:从动态的js方法改成css来渲染


2)翻转小方块时如果不控制速度有问题


解决方案:将翻转的速度控制在200左右


结束语


在这个小游戏的开发过程中遇到很多问题,因为不是经常写前端代码,对这些效果渲染什么的不是很得心应手,得亏有小包大佬引导还有队员Ylimhs的协助,不然游戏写出来会有很多样式和功能bug。另外,掘友们做的小游戏都很有意思,也希望这款小游戏你们也能喜欢,谢谢。

目录
相关文章
|
4月前
|
UED
【打造梦幻联动!】揭秘钉钉宜搭中的单选关联选项设置与图文展示的魔术 —— 让你的表单瞬间变身智能导游!
【8月更文挑战第7天】随着企业信息化的发展,办公自动化工具如钉钉宜搭成为提高效率的关键。宜搭是一款低代码平台,支持灵活的表单设计与流程管理。以旅行社报名表为例,介绍如何实现单选字段联动图文展示:用户选择目的地后自动显示相关信息。设计上,先创建单选和图文字段,再设置联动逻辑。通过简单的后台配置即可实现动态展示效果,提升用户体验与数据准确性。
111 0
|
7月前
|
搜索推荐 小程序 定位技术
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
105 0
|
7月前
|
监控 数据可视化 BI
一文了解瓴羊数据大屏能力|让数据可视,让价值可见
一文了解瓴羊数据大屏能力|让数据可视,让价值可见
135 0
|
7月前
|
算法 数据挖掘 双11
心相印携肖战开启双11户外营销,瓴羊数智助力高曝光多频次覆盖精准客群
心相印携肖战开启双11户外营销,瓴羊数智助力高曝光多频次覆盖精准客群
|
前端开发 JavaScript PHP
php开发实战分析(10):城市区县联动筛选
php开发实战分析(10):城市区县联动筛选
116 1
|
定位技术 数据格式 容器
腾讯位置服务富文本标签实现行政区域标注点聚合的解决方案
腾讯位置服务富文本标签实现行政区域标注点聚合的解决方案
98 0
|
前端开发 数据可视化 大数据
|
XML 前端开发 数据格式
第五例:省市联动2|快速学习
快速学习第五例:省市联动2
122 0
第五例:省市联动2|快速学习
|
人工智能 算法 物联网
从收银到防盗损,多种能力组合打造超实用数字门店
从收银到防盗损,多种能力组合打造超实用数字门店
293 0
从收银到防盗损,多种能力组合打造超实用数字门店
|
定位技术
好客租房164-地图找房导航栏样式调整
好客租房164-地图找房导航栏样式调整
94 0
好客租房164-地图找房导航栏样式调整