游戏中有青蛙跳荷叶游戏的炸弹游戏

斗地主一局中至少有一人有至少一个炸弹的概率是多少?
斗地主大家都会的吧,一副扑克三个人玩,四个相同的或两张王都算炸弹。那么斗地主一局中至少有一人有至少一个炸弹的概率是多少?qq游戏出现炸弹的概率是不是故意调大了?
斗地主一局中炸弹出现的概率(≈0.544668)确实挺大,下面是我的推导思路(动态规划):“至少一人有炸弹”与“每个人都没炸弹”互为对立命题,方便起见我们先求“每个人都没炸弹”的概率。假设当三个玩家(A、B、C)的座次选定,一副牌随机打乱发完时,A得到1-17号、B得到18-34号、C(地主)得到35-54号。现在不妨把这个发牌方式转化为另一种等效的方式:先发4张1,从A、B、C的54个牌位中随机挑选4个位置,再发4张2,从剩下的50个排位中随机挑选4个位置……因此整个发牌过程就划分成了14个阶段(13*4普通牌+1*2Joker)。现在我们需要每次发的4张普通牌(或者2张Joker)不能落到同一段(1-17、18-34、35-54),因为同一段的牌位属于同一个人,这样就构成炸弹了。定义表示在第阶段、A获得张牌、B获得张牌、C获得张牌时没有出现炸弹的概率,那么在阶段与阶段之间应该有如下递推公式:这里的是阶段可以转移到阶段的合法状态,是其对应的转移概率,再注意考虑好边界条件应该就可以做了。其实你仔细观察会发现,表示阶段这个上标实际上是多余的,在我们重新确定的发牌过程中本身就足以定义好状态了,所以上面的公式可以重新改写成下面这个最终版:简单写了段C/C++的求解代码:#include &iostream&
#include &vector&
const double eps = 1e-9;
// 浮点数允许误差
const int PLAIN_ROUND = 13; // 普通发牌回合数
const int TOTAL_ROUND = 14; // 所有发牌回合数
const int CIVIL_CARDS = 17; // 平民最多手牌数
const int DIZHU_CARDS = 20; // 地主最多手牌数
const std::vector&std::vector&int&& plain_dist({
{0,1,3},{0,2,2},{0,3,1},{1,0,3},{1,1,2},{1,2,1}
,{1,3,0},{2,0,2},{2,1,1},{2,2,0},{3,0,1},{3,1,0}
const std::vector&std::vector&int&& joker_dist({
{0,1,1},{1,0,1},{1,1,0}
int main() {
static double dp[CIVIL_CARDS+1][CIVIL_CARDS+1] = {1.0};
for (int round=0; round & TOTAL_ROUND; ++round) {
auto dist = &joker_dist;
if (round & PLAIN_ROUND) { dist = &plain_dist; }
for (int i=CIVIL_CARDS; i &= 0; --i) {
for (int j=CIVIL_CARDS; j &= 0; --j) {
int k; if (round & PLAIN_ROUND) {
k = (round + 1) * 4 - i - j;
k = (round+1)*4 - 2 - i - j;
dp[i][j] = 0; for (auto &tuple : *dist) {
int di=tuple[0], dj=tuple[1], dk=tuple[2];
int _i = i - di, _j = j - dj, _k = k - dk;
if (dp[_i][_j] & eps) { continue; }
int si = CIVIL_CARDS - _i;
int sj = CIVIL_CARDS - _j;
int sk = DIZHU_CARDS - _k;
double prob(int, int, int, int, int, int);
double p = prob(si, sj, sk, di, dj, dk);
if (p & eps) { continue; }
dp[i][j] += p * dp[_i][_j];
double ans = 1.0 - dp[CIVIL_CARDS][CIVIL_CARDS];
std::cout && ans && std::endl;
double prob(int sa, int sb, int sc, int a, int b, int c) {
if (a&0 ||
b&0 || c&0 ||
sb&b || sc&c
||sa&CIVIL_CARDS||sb&CIVIL_CARDS||sc&DIZHU_CARDS)
return 0.0;
double ra = 1.0, rb = 1.0, rc = 1.0, bs = 1.0;
for (int i=0; i & a; ++i) { ra = ra*(sa-i)/(i+1); }
for (int i=0; i & b; ++i) { rb = rb*(sb-i)/(i+1); }
for (int i=0; i & c; ++i) { rc = rc*(sc-i)/(i+1); }
double sabc = sa + sb + sc, abc = a + b + c;
for (int i=0; i & abc; ++i) bs = bs*(sabc-i)/(i+1);
return (ra * rb * rc / bs);
为了保险起见做了个随机模拟,结果也印证了之前的结论:#include &iostream&
#include &cstdlib&
#include &ctime&
#include &cstring&
#include &algorithm&
using namespace std;
void random_cards(int card[], int st, int ed) {
for (int i=ed-1; i & st; --i) {
int j = st + rand()%(i-st+1);
if (j != i) swap(card[j], card[i]);
int main() {
srand((unsigned)time(NULL));
int card[54];
for (int i = 0; i & 54; ++i)
card[i] = i / 4;
int num = 0, sum = 1000000;
int cnt[3][14];
for (int t = 0; t & sum; ++t) {
memset(cnt, 0x00, 3*14*sizeof(int));
random_cards(card, 0, 54);
for (int i = 0; i & 54; ++i) {
int tmp = ++cnt[min(2, i/17)][card[i]];
if (tmp &= 4 || tmp &= 2 && card[i] == 13) {
++num; break;
cout && double(num) / sum && endl;
和评论一样,王炸 都 大概1/3了,丁先森算的总概率怎么可能才不到10%。。。。。。。。。。分行。。。。。。。。。。。。。。1,先算王炸地主C(18,52)/C(20,54)+农民2*C(15,52)/C(17,54)=0.322852,算 4 个 的C(1,13)[C(16,50)/C(20,54)+2*C(13,50)/C(17,54)]=0.394833,算 王炸+4个 的都有的[1]*[2]=0.12747
(这里有点小误差,因为是直接用第一项和第二项的数字相乘的,影响不大)1+2-3就是0.59021=59%这是标准54张牌的算法分析:我想上知乎的人差不多都应该能看懂吧,高中的一点统计知识算了才知道,原来四个一样的炸弹要比王炸概率要高?是这样么?我们应该都打过斗地主吧,我们一直都是觉得王炸比四个一样的炸弹要容易得些,是吧?事实上也是这样的化简假设每个人牌都是一样多的18张有王炸的概率是1/3,知道怎么来的么?一个人得到 大王的 概率是1/3,小王的概率也是1/3那么有人(一起3人打牌)得到王炸的概率就是 那么四个一样的牌这样的炸弹的概率是多大呢?数字的意义要说么?A-K
3个人打呀4个1/3相乘
我得 黑桃?A*梅花A*红?A*?A的概率呀。。。。。。。。。。。。分行。。。。。。。。。。。。。。。。有空的时候算带一张花牌的1,2,3,要下班了,有空再说。
0.096,和王炸0.095概率差不多——————————————好吧,解释下怎么算的————————————农民摸牌数为C(17, 54),摸到王炸组合数为C(15, 52),概率为0.095。摸到普通炸弹的概率为1 - 没有摸到普通炸弹的概率,定义13个属于{0, 1, 2, 3}的数和为N的组合数为D(N),没有摸到普通炸弹的总数为D(15) + 2 * D(16) + D(17)。D(N)可以用动态规划算法来计算。计算得到的至少有普通炸弹的概率为0.096。
已有帐号?
无法登录?
社交帐号登录有个游戏其中摩托车可以闯关有炸弹,还可以制造图,是什么游戏_百度知道申博攻略_【欢迎光临】_申博攻略***【奢华VIP十大特权至尊享受】*>>
资源搜索:
你的位置 :
申博攻略:拨好的核桃仁用水泡了一天一夜,结果吃了肚子难受,浑身无力,是怎么回事,用什么方法才能缓解症状?
发布时间:日 08:46
点击数:306
《申博攻略》拨好的核桃仁用水泡了一天一夜,结果吃了肚子难受,浑身无力,是怎么回事,用什么方法才能缓解症状?生活大全 《申博攻略》两人都在等着她的答案。她马上反应胡乱的解释,“我们老板买的,但他出差了,不时候……嗯……去的国外……”苏唐觉得怪怪的,这姑娘还语无伦次上了,上次可不是这样的。白静倒是没有觉察到,她一听说老板去了国外,便暂,第一次见岳父岳母,应该带些礼物!”闻言,余馨立刻恢复笑容,拍了拍胸器,后怕道吓死我了!”季安笑了笑,右手一翻,拿出两坛百年陈酿,三根五百年份的人参和六瓶补气血的丹药,然后又整理了下《申博攻略》《申博攻略》人犯。”呼!!赵纯良长长的呼出一口气,说道,“或许我做了一些错事,但是就好像我刚才说的,不管怎样,我都不会后悔,不管这世界上的人将我形容成样子,我也决不后悔。”“如果可以的话,我以私人的身份拜托《申博攻略》魔之女,李婉华。想到李婉华,秦安的脸色阴沉了下来,不再。狠心一点吧!他必须要有所突破!多年来,他从不害怕杀戮,但却有些妇人之仁,这一点他很明白。以前他可以任性的无所顾忌,做圣母了?一切随
编译/蹇文霍
[生活大全]独家稿件,转载请注明来源。违者将追究其相关法律责任
最近资源热门下载:联众游戏->游戏介绍
炸弹超人游戏规则介绍
游戏名称:炸弹超人
游戏人数:2-6人
  炸弹人是一款经典动作游戏,从80年代开始就风靡世界。游戏中你通过安放炸弹来炸死对手保存自己,游戏中还有十几种道具可以吃到,好好利用它们,你会事半功倍。当然游戏里面的“骷髅”要小心别吃到,否则会出现各种随机的“中毒”事件。
游戏主流程
  进入游戏 ――& 操控键位设置 ――& 游戏选项协商 ――&
购买道具――& 开始
游戏规则详述
 操控键位设置:
  进入游戏后先进行键位的设置。以后点击“设置”按钮也出现该功能。
  需要设置的内容。
1. 定义上下左右键。默认为键盘的上下左右键
2. 定义“放炸弹键”“功能键”。默认为“Z”“A”键
3. 声音效果(复选)
4. 背景设置。
5. 游戏方案,共有绿蓝黄三种方案供选择,也可以选择每局自动轮换。
 游戏选项协商:
  在随机地图的游戏室,最先坐下的玩家可以要求协商游戏选项。
 游戏时间:
  可以选择每局1、2、3、4、5分钟
 游戏地图:
  初期提供9种地图,默认为常规地图。还可以选择每局轮换地图。
 游戏玩法:
  用上下左右键控制人物行走,按下“放炸弹键”在脚下会出现一颗炸弹,每个玩家开始游戏后都只有一颗炸弹,以后可以通过吃“炸弹”道具得到额外的炸弹。炸弹初始的威力半径是两格范围。炸弹会自动在被放下2秒钟以后爆炸。炸弹在界外以及墙上滚动时以及在空中飞行和拿在手中时,不进行爆炸倒计时。
  游戏的目的是用炸弹炸死其他玩家,并保存自己。游戏中有十几种道具,吃了相应道具后,玩家可以“打”“踢”“扔”炸弹等。某些道具需要按下“功能键”才起作用。
  炸弹可以被扔到界外,例如在界面最左边向左扔炸弹,炸弹会在最右边出现,在最上方向上扔炸弹,炸弹会在最下方出现。
 游戏道具:
  道具用不同图案代表,玩家“吃”了道具以后会产生各种效果和功能。道具出现后不会自动消失,除非被炸弹炸毁消失,或者被运动中的炸弹接触到而消失。在“踢”“打”“扔”炸弹的过程中,玩家被炸死后,曾经吃过的道具将随机散落在任意地点。
所需财富值
使用说明与操作方法
该道具为属性道具。可以手持炸弹并扔出。操作方法一:先按一下“放炸弹键”,炸弹会出现在自己脚下,再按一次“放炸弹键”并且按住该键不放,就可以拿起炸弹,任何时候松开“放炸弹键”则将炸弹扔出。操作方法二是连续按“放炸弹键”两次,可以直接将炸弹扔出。注意:只能是自己的炸弹并且自己与炸弹重叠时才可以拿起炸弹。该道具不能与“串弹”道具共存。
该道具为属性道具。在任何炸弹前按下“功能键”可以把炸弹打起到空中,炸弹会在空中飞行后落下,可以越过砖墙。注意:该道具与“定时炸弹”道具不能共存。
该道具为属性道具。拥有该道具后除非中毒,否则功能不会消失。它可以使炸弹威力变为无限长度。
该道具为属性道具。用身体接触任何前方无阻碍的单独炸弹,可以将炸弹延直线向前踢,在炸弹滚动的过程中,按下“功能键”该炸弹将停止滚动。该道具拥有后功能永远不会消失。
该道具为属性道具。玩家可以同时放出自己的所有炸弹。方法是连续按两次“放炸弹键”。
注意:该道具与“手持手套”道具不能共存。
该道具为数量道具。每拥有一个只能使用一次。玩家放下定时炸弹后该炸弹不会爆炸,在任意时间玩家按下“功能键”炸弹才爆炸。注意:该道具与“拳击手套”道具不能共存。
该道具为属性道具。每拥有一个该道具,移动速度增加初始速度的25%。
该道具为数量道具。每多拥有一个“炸弹”道具,可以额外多放一颗炸弹。
该道具为数量道具。每多拥有一个“火焰”道具,可以使自己的炸弹威力半径加大一格。
该道具为属性道具。拥有该道具后会给出一个随机的“中毒”事件。中毒时间15秒,并且可以传染其他玩家。
该道具为属性道具。拥有该道具后会同时给出三个随机的“中毒”事件。中毒时间15秒,并且可以传染其他玩家。
 中毒事件:
  吃下“骷髅”和“超级骷髅”道具后,会产生随机的中毒事件,同时玩家的身体不断闪烁,示意为中毒状态。中毒时限为:15秒。中毒状态可以传染,与其他玩家接触后会将病毒传染给其他玩家,但病毒结束时间相同。已在中毒状态还可以被另外的玩家再次被传染。病毒状态累加,结束时间变为新病毒的结束时间。
1. 速度变慢:移动速度变为初始速度的1/2。
2. 速度飞快:移动速度变为初始速度的3倍。
3. 超小火焰:火焰爆炸半径变为一格。
4. 不能放炸弹:在中毒期间不可以放炸弹。
5. 移动反向:按向上键人物向下走,按向左人物向右走,依此类推。
6. 快速爆炸:放下炸弹后,1秒钟自动爆炸。
7. 连续放雷:自动将所有可以放的炸弹自动放下,不受玩家控制。
 游戏时限:
  每局游戏时限默认为2分钟,玩家可以协商设定为1分钟、2分钟、3分钟、4分钟或者5分钟。达到时间上限时还未分出胜负则游戏界面从最外围墙开始“石化”,直到全部石化。
胜负判定和积分:
  用自己的火焰炸死一名玩家加10分,被其他玩家的火焰炸死扣10分,被自己的火焰炸死视为自杀扣10分。最后存活的一名玩家为胜者,获得全部自杀玩家所扣的分数。
差额积分:
  根据被炸死玩家和本玩家级别差额判断差额积分。被炸死玩家级别低于本玩家1-9级,得分系数乘以0.9-0.1。最低为1分。被炸死玩家级别高于本玩家1-10级,得分系数乘以1.1-2.0。最高得分上限为20分。
等级设定:
  共分12个游戏等级。
升级积分差额
409400及以上
会员服务条例:
  日,炸弹超人设置升级,内容如下:
  1. 为改善游戏的公平性,取消游戏开始前的购买道具功能,采取游戏过程中捡拾道具,并支付财富值的方式。
  2. 游戏中的道具分为需要消耗财富值和不需要消耗财富值两种。需要消耗财富值的道具共9种,分别是:手持手套、拳击手套、火焰、超级火焰、脚踢、串弹、加速、炸弹和定时炸弹;不需要消耗财富值的道具共2种:骷髅和超级骷髅。
  3. 不需要消耗财富值的道具,在游戏人物走过时自动拾起并产生作用。
  4. 需要消耗财富值的道具显示方式与不需要财富值的道具有区别,在游戏人物走过时根据游戏开始前的设置决定如何处理。
  5. 在游戏开始处有捡财富值道具的设置选项,分为以下三种情况:
    自动捡道具
    不捡道具
    按空格或自定义键手动捡道具
  6. 财富值道具具有普通道具一样的属性,用户选择不捡道具的情况下,游戏人物也可以从道具上通过。
  7. 游戏人物被炸后掉落的财富值道具,其他游戏人同样需要购买才能获得。
  8. 其他游戏规则及设置与原来相同
  9. 9种财富值道具每件需消耗的财富值明细:
    手持手套 10点
    拳击手套 10点
    超级火焰 10点
    脚踢    7点
    串弹    5点
    定时炸弹  5点
    加速    3点
    炸弹    2点
    火焰    1点
炸弹超人游戏更新纪录}

我要回帖

更多关于 小青蛙跳荷叶游戏规则 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信