注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

为着理想勇敢前进

 
 
 

日志

 
 

最近网络上常见的一个羊车问题  

2006-04-16 03:16:55|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
台上有三个门,一个后边有汽车,其余后边是山羊。主持人让你任意选择其一。然后 他打开其余两个门中的一个,你看到是山羊。这时,他给你机会让你可以重选,也就是你可以换选另一个剩下的门。你换还是不换得到汽车的几率更高?

以下是我画的一个网页用来测试的。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:container="http://ns.xlands.com/container">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <meta content="text/JavaScript" http-equiv="content-script-type" />
    <title></title>


</head>
<body>
<button onclick="newGame()" accesskey="n" title="快捷键:ALT+N">新游戏</button>
<br />
<button id="0" accesskey="1" title="快捷键:ALT+1">门</button>
<button id="1" accesskey="2" title="快捷键:ALT+2">门</button>
<button id="2" accesskey="3" title="快捷键:ALT+3">门</button>
<br />
失败次数:<span id="f">0</span>
成功次数:<span id="s">0</span>
<br />
<span id="status"></span>
<script type="text/javascript">
function Game() {
    this.carPosition = parseInt(Math.random() * 3);
   

}
Game.prototype = {
    carPosition : null

    , selectedPosition : null
    , select : function (p) {
        this.selectedPosition = p;
    }
    //从没被选中的门中挑出一个羊
    , getSheepPosition : function () {
        var sheepPosition;
        do {
            sheepPosition = parseInt(Math.random() * 3);//在三个门中随机选一个
        }
        while(sheepPosition == this.selectedPosition || sheepPosition ==

this.carPosition);//如果这个门是车或者这个门已经被选中,就重新随机
        return sheepPosition;
    }
   
       
    //领奖,如果为true,得到车,如果为false,则是羊
    , prize : function () {
        return this.selectedPosition == this.carPosition;
    }

}

var game;
function newGame() {
    for(var i = 0; i < 3; i++) {
        document.getElementById(i).innerHTML = "门";
    }
    document.getElementById("status").innerHTML = "请进行第一次选择";
    game = new Game();
}

function selectDoor() {
    switch(document.getElementById("status").innerHTML) {
        case "请进行第一次选择":
            game.select(this.id);
            //alert("现在主持人将打开一个门:")
            document.getElementById(game.getSheepPosition()).innerHTML = "羊";
            document.getElementById("status").innerHTML = "请进行第二次选择";
            break;
        case "请进行第二次选择":
            if(this.innerHTML == "羊") {
                alert("这个门已经打开了,不可能是车");
            } else {
                game.select(this.id);
                if(game.prize()) {
                    document.getElementById("s").innerHTML++;
                    document.getElementById("status").innerHTML = "恭喜,你赢了

";
                    this.innerHTML = "车";
                } else {
                    document.getElementById("f").innerHTML++;
                    document.getElementById("status").innerHTML = "不好意思,你

输了";
                    this.innerHTML = "羊";
                }
            }
            break;
        default:
            alert("点“新游戏”开始游戏");
    }
}

for(var i = 0; i < 3; i++) {
    document.getElementById(i).onclick = selectDoor;
}


</script>
</body>
</html>

  评论这张
 
阅读(158)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018