<!--//杀人游戏3.0版角色分配1.1版-->
<!--//先把下面的内容粘到一个文本文件中,把文件另存为htm格式,然后再打开就行了-->
<!--//没问题了,原来中括号i有别的含义-->
<!--//发这个是想让大家一起给测试下看有没有问题,另带符件是直接能用的-->
<html>
<head>
<h1 align="center">杀人游戏甲组分配</h1></head>
<body bgcolor="#00CCFF">
<form name="myform">
<p align="center"><strong>建议先把人物列表人为打乱一次再用机器分配</strong></p>
<br>
人数:
<input type="text" name="num1" size="8" value="">
人数必须大于9,且必须为数字<br>
结果:
<textarea cols="16" rows="20" name="res"></textarea><textarea cols="16" rows="20" name="res1"></textarea>
<br>
<input type="button" value="分配角色" onclick="oncl()"><input type="button" value="打乱" onClick="daluan()">
</p>
</form>
<script language="JavaScript">
function fenpei(ss,shumu,juese)//角色分配
{
while(1)
{
if(shumu==0)return ss;
var temp=Math.floor(Math.random()*ss.length);
if(ss[temp]!="平民")continue;
ss[temp]=juese;
shumu--;
}
}
function daluan()//序号分配
{
var num1=parseInt(myform.num1.value);
var arr=Array(num1);
var res1="";
for(n=0;n<num1;n++)
{
while(1)
{
tem=Math.floor(Math.random()*num1);
if(typeof(arr[tem])!="undefined")
continue;
arr[tem]=n+1;
break;
}
}
//window.alert(arr);
for(n=0;n<arr.length;n++)
{
res1+=n+1+"是"+arr[n]+"号\n";
}
myform.res1.value=res1;
}
function oncl()
{
var num1=parseInt(myform.num1.value);
var ss=Array(num1);
var res="";
var yisheng=1;//医生人数
var tejing=1; //特警人数
var shashou=Math.floor(num1/4);//杀手人数
var jingcha=shashou-1; //警察人数
var pingmin=num1-2-jingcha-shashou;
//测试人员分配
res="本期游戏"+jingcha+"警"+shashou+"杀"+yisheng+"医生"+tejing+"特警"+pingmin+"平民\n"
for(n=0;n<num1;n++)ss[n]="平民";//先全部初始化为平民
ss=fenpei(ss,shashou,"杀手");//分配杀手
ss=fenpei(ss,jingcha,"警察");//分配警察
ss=fenpei(ss,yisheng,"医生");//分配医生
ss=fenpei(ss,tejing,"特警");//分配特警
for(n=0;n<ss.length;n++)
{
res+=n+1+"号身份是"+ss[n]+"\n";
}
myform.res.value=res;
}
</script>
</body>
</html>
[ 本帖最后由 im3520 于 2008-5-23 11:40 编辑 ]
附件: 您所在的用户组无法下载或查看附件