1
我做的卡的數量的算法,這樣的目的是這樣的:如何在一條線上產生確切的數字
.|15|23|.|44|.|63|.|86
.|17|25|.|47|.|66|.|88
.|19|28|.|49|.|69|.|89
的點是空單元格,每行中有必須()。爲4個點(空單元格)和5個數字,但每列垂直排列如下:
第一列 - 從1到9,第二列從10到20,第三列從30到40,第四列從40至50,繼續,所以我試過了:
for(var y:int = 0; y < TICKET_MAX_NUM; y++)
{
var l:Label = new Label();
l.name = 'num_' + y;
l.width = 25;
l.height = 21;
var rand:*;
if(y == 0)
{
rand = UtilFunctions.randomRange(9 * multiplier, 1);
}
else
{
do
{
rand = UtilFunctions.randomRange(multiplier * 10, multiplier * 10 - 10);
}
while(existNumber(rand, randomNumbers));
}
randomNumbers.push(rand);
l.styleName = 'ticket_number';
l.text = rand.toString();
t.addChild(l);
if(multiplier == 9)
{
multiplier = 1;
while(emptyLeft > 0)
{
rand = UtilFunctions.randomRange(y, min);
//randomNumbers.splice(rand, 1);
var num = t.getChildByName('num_' + rand);
num.text = '{' + rand.toString() + '}';
emptyLeft--;
}
min += 9;
emptyLeft = 4;
}
else
{
multiplier++;
}
}
但我不能生成正好4個空單元格和5個數字。有什麼不對,但我不明白。