作者rockfuture (没人知道....)
看板Flash
标题Re: [问题] 请问气泡排序法的制作
时间Wed May 5 21:28:24 2010
原文恕删~
根据原PO的原始码
小弟稍微改写了一下
供原PO参考看看:
var a:Array= [6,5,4,7];//给ball的值
var b:Array= [6,5,4,7];//
_btn.addEventListener(MouseEvent.CLICK,onClick);
//产生泡泡
for(var i:int=0;i<4;i++) //选择几个泡泡
{
var ball:MovieClip=this;//new bobble()
ball['b'+i].num_txt.text=a[i];
}
//移动泡泡
function onClick(e:MouseEvent):void
{
for(var i:int=0;i<(a.length-1);i++)
{
//由於外层回圈每执行一次,会确认一个泡泡的位置,因此内层回圈
//不必每次都执行a.length-1次
for(var j:int=0;j<(a.length-1-i);j++)
{
//泡泡前後比较数值大小,如果前者大於後者,交换数值
if(a[j]>a[j+1])
{
var temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
//更新泡泡的数值
ball['b'+j].num_txt.text=a[j];
ball['b'+(j+1)].num_txt.text=a[j+1];
}
}
}
}
由於原始档里的泡泡长得都一样
所以泡泡交换位置的功能以交换泡泡文字方块的数值达成
以上是个人浅见
希望对原po有帮助
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.22.175
1F:推 titidoby:谢谢rock大的修改,真的可以正确排序耶XD....(洒花) 05/06 04:53
2F:推 titidoby:若小妹想要每次变动一次泡泡就暂停,再按一次按钮就继续 05/06 15:28
3F:→ titidoby:执行,这样的话小妹我该用甚麽方法让他暂停?><... 05/06 15:29