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

简介: 在队长战场小包和队员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。另外,掘友们做的小游戏都很有意思,也希望这款小游戏你们也能喜欢,谢谢。

自由
+关注
目录
打赏
0
0
0
0
2
分享
相关文章
百度地图开发mapStyle个性化地图styleJson的配色解决方案
百度地图开发mapStyle个性化地图styleJson的配色解决方案
710 0
领导驾驶舱下钻404问题解决
领导驾驶舱下钻404问题解决
44 0
对2024年数字运营和运营管理的安全趋势预测
对2024年数字运营和运营管理的安全趋势预测
一文了解瓴羊数据大屏能力|让数据可视,让价值可见
一文了解瓴羊数据大屏能力|让数据可视,让价值可见
160 0
心相印携肖战开启双11户外营销,瓴羊数智助力高曝光多频次覆盖精准客群
心相印携肖战开启双11户外营销,瓴羊数智助力高曝光多频次覆盖精准客群
NSDT孪生编辑器助力智慧城市
数字孪生智慧城市的目标是通过虚拟模型和大数据分析,实现城市的智能化管理和优化,提升城市的可持续发展和居民的生活品质。
133 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等