AS3 洗牌阵列

来源:互联网 发布:不用u盘安装ubuntu 编辑:程序博客网 时间:2024/04/30 09:22

 前两天在图书室看到了这段程序还不错,收藏起来分享给大家

在游戏中,随机数最常用的地方就是在纸牌游戏的洗牌中了。例如,你手中有 52 张纸牌,
现在想随机地把它打乱,这需要怎样处理呢?
首先,你要创建一个新数组,简单地按顺序进行排列。下面的代码显示从 0 到 51 有序数字
//  创建有序数组
var startDeck:Array = new Array();
for(var cardNum:int=0;cardNum<52;cardNum++) { 
startDeck.push(cardNum);
}
trace(“Unshuffled:”,startDeck);
测试影片,输出结果如下:
Unshuffled: 
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51
 
     为了打乱这个数组元素的顺序,我们先选择这个数组随机位置上的一个元素,并把它存
放在一个新的数组里面,然后,在原数组中把该元素删除,直至把原数组元素清空为止。
// shuffle into new array
var shuffledDeck:Array = new Array();
while (startDeck.length > 0) {
var r:int = Math.floor(Math.random()*startDeck.length);
shuffledDeck.push(startDeck[r]­); startDeck.splice(r,1);
}
trace(“Shuffled:”, shuffledDeck); 

原创粉丝点击