Holdaop det var et populært spørgsmål : )
- og her kommer lige et svar mere:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Fordeling</title><style type="text/css">
body {font:11pt verdana;}
h2 {margin:0 0 0 75px;}
h3 {margin:10px 0 0 0;}
</style><script>
Array.prototype.clone = function () {var a = new Array(); for (var property in this) {a[property] = typeof (this[property]) == 'object' ? this[property].clone() : this[property]} return a}
var barn = new Array(
"Anders","Børge","Carl","Dennis","Erik","Frank","Georg","Hans","Ib","Julius","Kurt","Lars","Monrad","Niels","Orla",
"Anette","Berta","Cecilie","Dorte","Ellen","Freja","Gyda","Helle","Iben","Julie","Karen","Lulu","Mona","Nille","Olga"
)
var poster = new Array(
{navn : "Svinget", antal : 5},
{navn : "Søen", antal : 2},
{navn : "Marken", antal : 4},
{navn : "Skoven", antal : 4},
{navn : "Vejen", antal : 3},
{navn : "Gården", antal : 5},
{navn : "Stalden", antal : 2},
{navn : "Stien", antal : 3},
{navn : "Pladsen", antal : 2}
)
function fordel()
{
var tmp = barn.clone() // hele banden (igen)
var s = "<h2><u>Fordeling</u></h2>" // output
for (var p=0;p<poster.length;p++) // posterne fra en ende af
{
s += "<h3>"+poster[p].navn+"</h3>"
var komma = ""
for (var i=0; i<poster[p].antal; i++)
{
var n = Math.floor(Math.random() * tmp.length) // pluk en tilfældig
s += komma + tmp[n]
komma = " + "
tmp.splice(n,1) // fjern fra listen af tilbageværende
}
}
document.getElementById("vis").innerHTML = s+"<hr><a href='java script:fordel()'>Omfordel</a>"
}
</script></head><body>
<div id="vis"><a href="java script:fordel()">Fordel</a></div>
</body></html>