明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

一個使用多選框的小智力題,傳教士與野人

[摘要]這是我學(xué)javascript的第一個小例子。 盡管現(xiàn)在技術(shù)依舊很差,不過覺得寫些小例子 真的可以很快進入角色。 <HTML> <HEAD> <title>傳教士與野人</title> </HEAD> <script language...

這是我學(xué)javascript的第一個小例子。
盡管現(xiàn)在技術(shù)依舊很差,不過覺得寫些小例子
真的可以很快進入角色。

<HTML>
<HEAD>
<title>傳教士與野人</title>
</HEAD>

<script language= "Javascript">

var whereboat="left" //船的位置
function crossRiver()
{
var boat=0; //載人數(shù)目
//操作右河岸。
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"); //產(chǎn)生新的
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產(chǎn)生縮進,所以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"); //產(chǎn)生新的
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>
有一天三個傳教士來到一個野蠻人居住的地方進行傳教,傳說這個部落是吃人的氏族,在一條小河前,他們遇到了三個野人同時也要過河,六個人虎目眈眈,而河中只有一只僅容納兩人的小船。如果在度過小河的過程中,野人數(shù)目多于傳教士,那么勢單力孤的傳教士就要被吃掉。而傳教士又不能傷害野人。請你想個辦法讓六個人都安全的過河。
</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>