链上捕鱼
主网内测 · 未审计 EN 内测

§ RULES · RTP 95% · ON-CHAIN

规则

怎么玩、赔多少、凭什么相信它。一局只有一件事:瞄准、开火;打到谁、打没打死、赢多少,全由链上合约按下面的规则算出,任何人都能重算。

玩法

一局怎么打

01SEAT

入座

100 人场的炮台分布在场地上下两条边,每边 50 个;4 人私密场在四个角。空座直接坐。你停手超过 5 秒(房主可调),满员时别人可以顶替你的座位。

02FIRE

开火

选注额档位,瞄一个方向。下边的炮台只能往上打,上边的只能往下。长期每秒 1 发,闲一会儿可以连打 2 发;太快的那发会被合约往后挪(最多 2 秒),不会被拒绝。

03BULLET

子弹

每秒 1,600 px,碰墙反弹,最多 3 次,最远飞过场地对角线(3,442 ms)。打到的是第一条碰到的鱼,不能隔着鱼打后面的。

04RESOLVE

结算

子弹碰到鱼的那一刻才结算(通常 0.4–1 秒后),这时才抽随机数决定打没打死。打死了,派彩 = 注额 × 倍率,记进你的房间余额。

特殊情况

发生了什么结果注额
子弹要打的那条鱼在子弹到之前被别人打死了子弹继续飞,链上重新找下一条碰到的鱼(重搜)照常结算
重搜后整个射程都碰不到鱼退注全额退回
一出膛就碰不到任何鱼交易成功,但不入队不扣
庄家资金不够锁定这一发的最大派彩开火失败(E_HOUSE_LOW)不扣,只花 gas

钱

钱包要留

≈ 0.03

APT,做押金与 gas 预留;钱包下注时再加注额。

每发押金

0.0047

APT,链上存储押金,结算后全额退给付押金的人。

每发 gas

约 0.002

APT,与注额无关。数字是旧版本实测,主网部署后复测。

奖金记在房间余额里:可以接着用余额下注,也可以随时提现(一笔 约 0.0001 APT 的 gas)。只有你本人的签名能提现。

用程序打

可以,期望一样。主账户授权一把"机器人密钥",设好有效期、用余额下注的额度和底线;机器人能替你开火、占座,但提不了现、改不了授权。内测就是这样做到"授权一次,之后开火不弹窗"的;也可以把 AI Skill 交给你的 AI 助手代打。

公平与赔率

期望为什么固定

每种鱼有一个命中概率 p 和一个整数倍率 m,合约里写死:m = 950,000 ÷ 阈值(整数除法),p = 阈值 ÷ 10⁶。所以 p × m 在每一种鱼上都是 0.95:

打大鱼不会更划算,只会让输赢起伏更大。3× 与 15× 两种因为阈值取整,比 0.95 低不到百万分之五,偏向庄家。

钱去哪

玩家期望拿回 95%技术团队 1%庄家 4%

技术费只对真正结算的注额收;退注的那发谁都不收。

赔率与每发成本

注额
鱼种半径命中概率倍率打死派彩p × m

为什么不让客户端选鱼

如果玩家能跳过挡路的鱼、只打金龟,期望不变,但每发输赢的方差放大约 95 倍,庄家的派彩波动也跟着放大两个数量级。在负期望游戏里,大起伏本身就是一种策略优势。

所以协议里根本没有"选鱼"这个参数:开火交易只带方向,打到谁由链上几何决定——沿弹道第一条碰到的鱼,挡在前面的挡得住。

随机数

  • 用 Aptos 链上随机数,在结算那一刻抽,不是开火时
  • 结算入口是私有的随机数入口:抽到不好的结果,也不能让交易回滚重来
  • 开火时谁都不知道结果,包括运营方

顺序

子弹按碰到鱼的时刻排队(全局时间轮),由之后的交易顺带结算,不按交易到达的先后。两个人抢同一条鱼时,谁拿到由链上时间决定,不改变任何人的期望。

派彩一定付得出

每发出膛时,合约从庄家资金里锁定 100 倍注额(可能的最大派彩)。庄家可用的钱不够锁定时,新的开火直接失败、只花 gas;已经在飞的子弹照常结算、照常派彩。

—APT
庄家可用
—APT
已锁定
—
在途子弹

连接中…

不保证什么

  • 不保证赢:负期望,长期大约亏掉注额的 5%
  • 短期起伏很大:每秒 1 发打 1 小时,期望 −180 注,约 23.9% 的人领先,95 分位 +270 注(模拟)
  • 私密房不隐藏数据:私密只限制谁能入座,房间里的每一发仍然公开
  • 合约尚未审计,代码升级权目前在多签手里(安全与治理)