更新记录

1.0.1(2025-11-14)

1.0.1 适配Vue3

1.0.0(2025-11-14)

1.0.0


平台兼容性

uni-app(3.6.14)

Vue2 Vue2插件版本 Vue3 Vue2插件版本 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
1.0.0 1.0.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - -

uni-app x(3.6.14)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

背了个锅 (jqk-carry-can)

一个有趣的办公室主题接道具小游戏,玩家需要控制小人接住掉落的道具,通过合成获得大黑锅来通关,同时要避开负面道具。

🎮 游戏介绍

在办公室的职场中,你需要接住各种掉落的道具,通过合成系统获得3个大黑锅来通关。随着关卡提升,游戏难度逐渐增加,负面道具的出现概率也会提高。通过不断通关,你可以从实习生一路晋升到董事长!

📖 游戏规则与玩法

基本操作

  • 移动小人:在屏幕上左右滑动或拖动,控制底部的小人移动
  • 接道具:小人接触到掉落的道具即可获得
  • 游戏目标:收集3个大黑锅即可通关

道具系统

正向道具(可合成)

道具可以2合1进行合成,合成路径如下:

  • 💻 笔记本电脑 (Level 1) → 2个合成1个公文包
  • 💼 公文包 (Level 2) → 2个合成1个奖杯
  • 🏆 奖杯 (Level 3) → 2个合成1个大饼
  • 🥞 大饼 (Level 4) → 2个合成1个大黑锅
  • 大黑锅 (Level 5) → 最终目标,收集3个即可通关

特殊正向道具

  • 绩效A:可以抵消一次绩效C
  • 🛡️ 保护盾:可以抵消一次TNT攻击
  • 🧲 磁铁:持续5秒,自动吸引周围的正向道具
  • ⏱️ 时间减缓:持续4秒,道具掉落速度减半

负面道具

  • 📄 裁员通知:接到后立即游戏失败
  • 💣 TNT:接到后立即游戏失败(可用保护盾抵消)
  • ⚠️ 绩效C:累积3次后游戏失败(可用绩效A抵消)

职级系统

玩家从最低职级开始,通过通关不断提升职级:

  1. 实习生
  2. 普通职员
  3. 公司骨干
  4. 老油条
  5. 部门经理
  6. 总经理
  7. 董事长(最高职级)

职级提升规则

  • 第一关通过后,进入第二关,职级不变
  • 第二关及以后通过,职级提升一级
  • 达到董事长后,继续通关会统计达成董事长的次数
  • 游戏失败且未复活时,职级会恢复至实习生

关卡系统

  • 第一关:道具掉落间隔1秒,负面道具概率8%
  • 第二关及以后
    • 道具掉落间隔0.5秒(速度更快)
    • 游戏速度提升1.5倍
    • 负面道具概率逐步提升(每关+2%,最高30%)

连击系统

连续接到道具会触发连击效果:

  • 连击会增加道具掉落速度(每2连击增加0.5速度,最高增加10)
  • 连击超时时间为2秒
  • 连击数会在游戏界面实时显示

游戏失败与复活

游戏在以下情况会失败:

  • 接到裁员通知
  • 接到TNT(无保护盾时)
  • 绩效C累积3次

复活机制

  • 游戏失败后,可以观看广告复活
  • 复活后会恢复失败前的游戏状态(关卡、职级、道具、特殊状态等)
  • 复活后进入暂停状态,玩家可以选择继续游戏或退出

💰 广告收益接入指南

1. 启用复活功能

在组件中启用复活功能:

<template>
  <jqk-carry-can 
    :enable-revive="true"
    @revive-request="handleReviveRequest"
  ></jqk-carry-can>
</template>

2. 处理复活请求(📢:广告接入为伪代码,具体逻辑请参照相关文档各自实现)

监听 revive-request 事件,在事件回调中播放广告:

methods: {
  handleReviveRequest(event) {
    // event.callback 是回调函数,用于通知游戏是否可以复活
    // 参数:true 表示可以复活,false 表示不能复活

    // 示例:使用 uni-app 激励视频广告
    const rewardedVideoAd = uni.createRewardedVideoAd({
      adUnitId: 'your-ad-unit-id' // 替换为你的广告位ID
    })

    // 监听广告加载成功
    rewardedVideoAd.onLoad(() => {
      console.log('广告加载成功')
    })

    // 监听广告加载失败
    rewardedVideoAd.onError((err) => {
      console.error('广告加载失败', err)
      event.callback(false) // 广告加载失败,不允许复活
    })

    // 显示广告
    rewardedVideoAd.show()
      .then(() => {
        console.log('广告显示成功')
      })
      .catch((err) => {
        console.error('广告显示失败', err)
        // 如果广告未加载完成,先加载再显示
        rewardedVideoAd.load()
          .then(() => rewardedVideoAd.show())
          .catch((err) => {
            console.error('广告加载或显示失败', err)
            event.callback(false)
          })
      })

    // 监听用户点击关闭广告
    rewardedVideoAd.onClose((res) => {
      if (res && res.isEnded) {
        // 用户完整观看了广告,允许复活
        event.callback(true)
      } else {
        // 用户提前关闭广告,不允许复活
        event.callback(false)
      }
    })
  }
}

3. 支持的广告平台

微信小程序

// 使用微信小程序激励视频广告
const videoAd = wx.createRewardedVideoAd({
  adUnitId: 'your-ad-unit-id'
})

videoAd.onClose((res) => {
  if (res && res.isEnded) {
    event.callback(true)
  } else {
    event.callback(false)
  }
})

videoAd.show().catch(() => {
  videoAd.load().then(() => videoAd.show())
})

字节跳动小程序

// 使用字节跳动激励视频广告
const videoAd = tt.createRewardedVideoAd({
  adUnitId: 'your-ad-unit-id'
})

videoAd.onClose((res) => {
  if (res && res.isEnded) {
    event.callback(true)
  } else {
    event.callback(false)
  }
})

videoAd.show().catch(() => {
  videoAd.load().then(() => videoAd.show())
})

App端(uni-app)

// 使用 uni-app 激励视频广告(需要配置广告插件)
// 支持:穿山甲、广点通等
const rewardedVideoAd = plus.ad.createRewardedVideoAd({
  adpid: 'your-adpid'
})

rewardedVideoAd.onClose((e) => {
  if (e && e.isEnded) {
    event.callback(true)
  } else {
    event.callback(false)
  }
})

rewardedVideoAd.load(() => {
  rewardedVideoAd.show()
}, (err) => {
  console.error('广告加载失败', err)
  event.callback(false)
})

4. 收益优化建议

  1. 广告展示时机:游戏失败时是展示激励视频广告的最佳时机,用户有强烈的复活需求
  2. 广告频率控制:建议限制每日复活次数,避免用户过度依赖广告
  3. 用户体验:确保广告加载速度快,避免长时间等待
  4. 多平台适配:根据不同平台选择合适的广告SDK,确保收益最大化

5. 完整示例

<template>
  <view class="page">
    <jqk-carry-can 
      :enable-revive="true"
      @revive-request="handleReviveRequest"
    ></jqk-carry-can>
  </view>
</template>

<script>
import jqkCarryCan from '@/uni_modules/jqk-carry-can/components/jqk-carry-can/jqk-carry-can.vue'

export default {
  components: {
    jqkCarryCan
  },
  methods: {
    handleReviveRequest(event) {
      // #ifdef MP-WEIXIN
      // 微信小程序
      const videoAd = wx.createRewardedVideoAd({
        adUnitId: 'your-weixin-ad-unit-id'
      })

      videoAd.onClose((res) => {
        event.callback(res && res.isEnded)
      })

      videoAd.show().catch(() => {
        videoAd.load().then(() => videoAd.show())
      })
      // #endif

      // #ifdef APP-PLUS
      // App端
      const rewardedVideoAd = plus.ad.createRewardedVideoAd({
        adpid: 'your-app-adpid'
      })

      rewardedVideoAd.onClose((e) => {
        event.callback(e && e.isEnded)
      })

      rewardedVideoAd.load(() => {
        rewardedVideoAd.show()
      }, () => {
        event.callback(false)
      })
      // #endif

      // #ifdef MP-TOUTIAO
      // 字节跳动小程序
      const videoAd = tt.createRewardedVideoAd({
        adUnitId: 'your-toutiao-ad-unit-id'
      })

      videoAd.onClose((res) => {
        event.callback(res && res.isEnded)
      })

      videoAd.show().catch(() => {
        videoAd.load().then(() => videoAd.show())
      })
      // #endif
    }
  }
}
</script>

📊 数据统计

游戏会自动保存以下玩家数据:

  • 当前职级
  • 游戏次数
  • 最高职级
  • 通关次数
  • 达成董事长次数

数据使用 uni.getStorageSyncuni.setStorageSync 进行本地存储。

🎯 游戏技巧

  1. 优先接特殊道具:磁铁和时间减缓可以大大提高游戏效率
  2. 合理使用保护盾:保留保护盾来应对TNT
  3. 注意绩效C:及时接绩效A来抵消绩效C
  4. 连击加成:保持连击可以加快游戏进度
  5. 关卡规划:第一关相对简单,可以多收集道具;第二关开始难度提升,需要更谨慎

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。