作者laechan (小太保)
看板RO
标题Re: [闲聊] 大概50颗夏之蛋
时间Tue Feb 1 15:16:05 2011
※ 引述《smpi (化完妆的恐龙(。??。))》之铭言:
: 你内物怎麽可能 “还没开就决定?”
inherit BOX;
void main()
{
set("name","夏之蛋II");
set("describe","一颗夏之蛋, 可以转出物品.\n");
set("mass",10);
}
void player_buy_it()
{
先执行转蛋物品转出程序;
set("box_content",转出物标记);
}
假设上述物件叫 box,当玩家在购买转蛋的同时..
box->player_buy_it();
box->move_to_player();
这样这颗转蛋不必先开,其内容物就可以早早被决定,
而玩家只看的到转蛋的名字、叙述、重量,看不到隐藏
的物件资料。而转蛋「没有被买时」其物件资料就不会
含有 "box_content" 这项资料,被买後才会设进去。
这是物件导向设计的初步概念。
要做的狠一点我可以举例,例如神金,打死某些怪物会
掉神金这个大家都知道,我可以在怪死後神金掉落的同
时「就设定这颗神金用来精链会不会失败」。
: ex:
: 我用双视没用放大镜 就知道结果了 更何况转蛋还可以交易
: 那不是 买来先透视一下 再七日内退货
我举个例,底下是某程式...
inherit UNKNOWN;
int i=1;
void main()
{
set("name","未监定物");
set("describe","需用放大镜检视喔");
set("origin_object","一洞斗篷");
}
特定的双窗程式或许可以直接读取物件资料「origin_object」
,但是只要没有撰写读取变数 i 的函数(方法),那麽变数 i
不管你再怎麽厉害都是无法得知其值的。
这亦是物件导向程式设计的用途之一,资料具有良好隐藏性,
除非撰写方法不然无法读取, 但又无碍程式内本身的相关计算
简单的说就是,今天它只是将未监定物的实际资料登录如上,
让你不需放大镜也能看到而已,它也可以将未监定物的实际资
料登录为变数资料, 只是它没这麽做罢了.
RO实际运作方式则是将一洞斗蓬伪装为未监定物, 这就可以回
归到我上面所讲的以及你所质疑的
你内物怎麽可能 “还没开就决定?”
你举例的做法就恰好是其中一种解答。
: 公司没有傻成这样啦!!! 要是我说的可行 这也太豪洨了吧
我在某 mud 实作过这种东西。
: 你讲的很复杂 但我看似是很简单的
: 跟系统负担有什麽关系? 我实在看不懂!
比方转一颗转蛋跑一次「转蛋内容物随机取得副程式」
该程式是可以写的简单、亦能写的复杂的。若写成後者型式
则一般程式设计者会避免玩家在短暂时间内快速开转蛋。
举例的话例如它让玩家存东西到仓库只能一种类一种类存,
没有选取多个然後一次存仓的方法,程式实际上写的出来,
不写就可能是有其考量。
对系统造成的负担有时就可能是其考量之一,存某物到仓库
这样的动作看似简单,但若跟资料储存(保全)结合的话就一
定得考量对系统整体的负担。
我举例,当你存A到仓库,准备存B到仓库时,突然系统当机
,然後又重开你又顺利登入了,这时你的直觉想法就是身上
的A物「刚刚应该有顺利存进仓库吧?」
如果你期望这样的事,那就该想想有没有可能你每做一个可
能更动到资料的事情,系统就得储存一次你的资料?
: 就跟你打一只波利 掉什麽东西 定的机率相似啊
: 随便举例子
: 结晶石50%
: APPLE 30%
: 波利卡片 0.02%
: 还用分什麽拉机组合 转蛋 我是没买过
: 如果像打波利一样
: 是没看过一次喷二张卡过 (除非他偷吃)
: 但有看过结晶石跟APPLE同时出现的啦
我在某个 mud 板有大致提过 RO 的掉宝设定。
我在那个板没写到的东西就是,在一个掉宝函数里面其实是可以
搀入相当多程式段的。
为什麽?因为 0.02% 是一个相当小的机率,小到让我有很多动手
脚的空间,今天我「公开」一只怪打到卡片的机率是 0.02%..
一、但我可以设实际机率是 0.002%
二、我也可以在高兴时调高它一些例如变成 0.2%
三、我甚至可以在不爽时让它在 2/1~2/3 绝对不会掉一张卡
四、甚至我可以设定如果它在 2/1 被打到卡,那麽在 3/1 前绝对
不会再掉卡、或者往後一个月掉卡机率自动变成 0.00002%
那麽对玩家而言,「如果我不说破」,玩家会去怀疑 0.02% 这个
机率设定吗?
今天假若打一只怪会掉 m 种物品,我只要动其中的 2~3 项关键物
品的掉落机率即可,玩家就会因一般物品的打到机率看起来很平常
、而自动无感我对关键物品的隐藏设计。
: 很简单的东西被你想到很难................
: 定机率好像 没你说的那麽难吧XD
: 如果每次怪 喷的东西 不是ko时 游戏公司那边程式帮你决定
: 那不就玩单机游戏就好?
: 转蛋也一样道理 不公布机率
: 你花了抠抠$$下去 是生或是死 都是游戏公司那边程式帮你决定
: 你能中什麽 这也就是运了!! 不是你电脑等级超快可以连开不延迟
: 就可以改变游戏公司的设定......没那麽神啦!!!
某一个 mud 有 777 拉霸的设定,每一数字轮为 1~9 九个
数字,在这情况下转出 777 的机率是 1/9x9x9 = 1/729
底下是概略程式码...
int r1,r2,r3;
r1=1+random(9); // 采用程式中的乱数种子
r2=1+random(9);
r3=1+random(9);
if(r1==7 && r2==7 && r3==7)
玩家拉中头奖彩金;
结果实际运作情况怎样捏?就是 n 个玩家,每个人都身怀巨款,
开始在拉霸前狂拉狂赌,三不五时就看到公频出现某人拉中777
「理论上拉 729 次才会中一次的777三不五时出现」,你不更
改设计的结果就是玩家每个都相信勤赌必中然後每个都赚大钱。
像上述还算好的至少还能看出中奖机率是 1/729(虽然实际上有可
能并非如此),
完全不写物品对应转中机率的转蛋,就完全随原厂
高兴怎麽订就怎麽订。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.82.241.154
1F:推 satou20444:变成程式码的讨论串了 02/01 15:20
2F:推 wingthink:请先翻译成哥布灵语 02/01 15:31
3F:→ laechan:另外补充一点,假设RO公布转到卡片机率0.01%,有人真的买1万 02/01 15:41
4F:→ laechan:颗转蛋去转结果连张卡片都转不出来,这个似乎可以告的样子 02/01 15:41
5F:→ laechan:或许这也是不公布机率的主因之一 02/01 15:41
6F:→ laechan:(像大乐透若你49个号码全包就一定会中) 02/01 15:42
7F:→ annie6119:我是不是看到printer 02/01 16:34
8F:推 smpi:商人都是稳赚不赔的 要是做庄还会了钱 谁要去做啊XD 02/01 16:38
9F:→ smpi:还有告不成 只买1万个 太少....... 02/01 16:39
10F:→ smpi:不过会数学的一定有办法算出来 02/01 16:41
11F:→ shining504:印象中 转蛋是固定物品的没错...因为上一期塔奥转蛋 02/01 16:43
12F:→ shining504:某些人不用用负重筛选法就能得知转蛋内容 02/01 16:44
13F:嘘 jack88144:如果你开到塔奥 你今天就不会来这长篇大论了 02/01 16:44
我这次花 500 买转蛋开有三个目的..
一、拼一下塔奥卡
二、用游戏制作者的角度去感受这个转蛋给我的感觉
三、刚好领年终就花点小钱开个转蛋再把结果贴出来分享
如果我开到塔奥我可以跟你说, 我会插卡自用. 卖这张卡
是很麻烦的(除非它R币价钱低於9999万那我会卖掉), 自
用的话我一堆体的角色都用的到.
那, 最终目的还是在劝大家, 花钱买转蛋, 不如买乐透.
14F:→ shining504:新断线卖转蛋怎样都不会亏钱 因为那是虚宝阿 傻傻的 02/01 16:44
15F:推 qwe96325:ㄜ 那大概不可行哦.. 02/01 16:53
16F:→ qwe96325:1个机率是100%的跟100个机率1%的期望值都是100%没错 02/01 16:54
17F:→ qwe96325:但是只是期望值 100个1%的可能开出1~100个 02/01 16:54
18F:→ qwe96325:若是这样可以告 那机率也不会是1%了 02/01 16:55
19F:→ qwe96325:因为0的机率就不存在 期望值高过1 不符合原本理论 02/01 16:55
20F:推 qwe96325:发现第三句打错= =" 原本可能性有0~100个才对 02/01 17:02
※ 编辑: laechan 来自: 115.82.241.154 (02/01 18:44)