デッキは、ファイルなどに予め書き溜めておき、
それをコピーし、以下のテキストエリアに貼り付ける。
デッキの各カードは改行毎に、区切られる。
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>オートシャッフル</title> <script language="JavaScript" type="text/javascript" src="shuffle.js"></script> </head> <body bgcolor="#c0c0c0"> <center> <h1>オートシャッフル</h1> <h2>デッキ:</h2> <form name="formdeck"> <textarea name="deckdata" cols="60" rows="40"> </textarea><br> <input type="button" value="オートシャッフル" onclick="shuffle()"><br> デッキ枚数:<i>n</i>=<input type="text" id="n"> </form> </center> </body> </html> |
function shuffle(){ var card = document.formdeck.deckdata.value.split("\n"); var n = card.length; /* デッキ枚数を算出する */ var i,x,y,temp; for(i = 0; i < n; ++i){ x = Math.floor(Math.random()*n); do { y = Math.floor(Math.random()*n); } while(y == x); temp = card[x]; card[x] = card[y]; card[y] = temp; } document.formdeck.deckdata.value = card[0]; for(i = 1; i < n; ++i){ document.formdeck.deckdata.value += "\n"; document.formdeck.deckdata.value += card[i]; } document.getElementById("n").value=parseFloat(""+n); } |