欢迎光临
我们一直在努力

一个使用多选框的小智力题,传教士与野人

建站超值云服务器,限时71元/月

这是我学javascript的第一个小例子。

尽管现在技术依旧很差,不过觉得写些小例子

真的可以很快进入角色。

<html>

<head>

<title>传教士与野人</title>

</head>

<script language= "javascript">

var whereboat="left" //船的位置

function crossriver()

{

var boat=0; //载人数目

//操作右河岸。

if(whereboat=="left")

{

for (var i=0;i<form1.leftbank.options.length;i++)

{

if(document.form1.leftbank.options[i].selected==true)

{

var node =document.createelement("option"); //产生新的

node.text=form1.leftbank.options[i].text; //给新的老名字

document.form1.rightbank.add(node); //加入新的

form1.leftbank.options[i].text="" //标记为空(若直接删除会丢失selected==true)

boat++;

whereboat="right";

}

}

for (var i=0;i<form1.leftbank.options.length;i++)

{

if(form1.leftbank.options[i].text=="")

{form1.leftbank.options.remove(i);i–;} //集体铲除老的,注意由于remove产生缩进,所以i–

}

}

//操作左河岸。

if(whereboat=="right")

{

for (var i=0;i<form1.rightbank.options.length;i++)

{

if(form1.rightbank.options[i].selected==true)

{

var node =document.createelement("option"); //产生新的

node.text=form1.rightbank.options[i].text; //给新的老名字

document.all.leftbank.add(node);

form1.rightbank.options[i].text="" //标记为空(若直接删除会丢失selected==true)

boat++;

whereboat="left";

}

}

for (var i=0;i<form1.rightbank.options.length;i++)

{

if(form1.rightbank.options[i].text=="")

{form1.rightbank.options.remove(i); //集体铲除老的

i–;

}

}

}

if(boat>2) {alert("超载!");window.location="javas.html";} //载人失败

boat=0;

//判断胜利与失败

var people=0;

var savage=0;

//左岸失败

for (var i=0;i<form1.leftbank.options.length;i++)

{if(form1.leftbank.options[i].text=="传教士") people++;

if(form1.leftbank.options[i].text=="野人") savage++;

}

if(savage>people & people>0) {alert("左河岸的传教士被野人吃掉了!");

window.location="javas.html"; }

//右河岸失败

people=0; savage=0;

for (var i=0;i<form1.rightbank.options.length;i++)

{if(form1.rightbank.options[i].text=="传教士") people++;

if(form1.rightbank.options[i].text=="野人") savage++;

}

if(savage>people & people>0)

{

alert("右河岸的传教士牺牲了!");

window.location="javas.html"; }

if(savage+people==6)

alert("传教士:终于过河了,与野人在一起好可怕!野人:呜瓦!这些人的肉太老了,咱们吃小孩去!");

}

</script>

<body bgcolor=navy text=aqua>

<br>

<center><h3>与野人一起过河</h3></center>

<center><!–//定义左河岸–>

<table width=470 height=200 align=center>

<tr><td>

<h5>

有一天三个传教士来到一个野蛮人居住的地方进行传教,传说这个部落是吃人的氏族,在一条小河前,他们遇到了三个野人同时也要过河,六个人虎目眈眈,而河中只有一只仅容纳两人的小船。如果在度过小河的过程中,野人数目多于传教士,那么势单力孤的传教士就要被吃掉。而传教士又不能伤害野人。请你想个办法让六个人都安全的过河。

</h5></td></td>

</tr>

</table></center>

<form name=form1>

<center>

<select name="leftbank" multiple size=6 style="width: 100px">

<option >传教士</option>

<option>传教士</option>

<option>传教士</option>

<option>野人</option>

<option>野人</option>

<option>野人</option>

</select>

<input onclick=crossriver() type=button value=过河>

<!–定义右河岸–>

<select multiple name="rightbank" size=6 style="width: 100px">

</select>

</center>

</form>

<center>

<h5>(用ctrl键多选)</h5>

</center>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一个使用多选框的小智力题,传教士与野人
分享到: 更多 (0)