我目前正在对一个朋友和我自己设计的纸牌游戏进行数字化,但是我在一些基本的编码方面遇到了麻烦。到目前为止,我所拥有的是代码将填充一个“牌组”(数组)然后将其随机化,然后将 4 张四张牌放入一个“手”(数组)中,然后它当前将 4 个数组条目的动画剪辑加载到舞台上某些 co-纵坐标。
我想要做的,因为我很快就会在舞台上用完空间,所以为每种卡片类型设置了定义的位置(目前它们只是按照它们被绘制的顺序加载)
我正在努力让代码 1) 执行检查数组是否至少包含任何一张卡片,然后将所述卡片加载到舞台上的坐标中,然后填充一个动态文本框以显示其中有多少卡在手。
因此,我对大多数更简单的函数非常有信心,但没有创建 If 语句来检查数组中的某些卡片(对象),以及如何计算同一数组中有多少特定类型的重复对象。
这是我目前所拥有的,在此先感谢。
import flash.display.MovieClip;
stop();
//Create starting deck for player 1
var deck1 : Array = new Array(new attack(),new attack(),new attack(),new attack(),new attack(),new attack(),new ashe1(),new ashe1(),new flashss(),new ignitess());
//Create empty hand for player 1 and set up display variables
var hand1 : Array = [];
var attack1
var sa1
var sa2
var sa3
var sau
var ss1
var ss2
//Check player 1's deck
trace(deck1);
//Shuffle player 1's deck
function randomize1 (a : *, b : * ) : int {
return ( Math.random() >.5 ) ? 1 : -1;
}
trace(deck1.sort( randomize1 ) );
//Draw first four cards for player 1
var drawcard1:MovieClip = deck1.shift();
trace(deck1);
trace(drawcard1);
hand1.push(drawcard1);
trace(hand1);
drawcard1 = deck1.shift();
trace(deck1);
trace(drawcard1);
hand1.push(drawcard1);
trace(hand1);
drawcard1 = deck1.shift();
trace(deck1);
trace(drawcard1);
hand1.push(drawcard1);
trace(hand1);
drawcard1 = deck1.shift();
trace(deck1);
trace(drawcard1);
hand1.push(drawcard1);
trace(hand1);
//Show player 1's hand on screen
addChild(hand1[0]);
hand1[0].x = 0.00;
hand1[0].y = 600.00;
addChild(hand1[1]);
hand1[1].x = 186.85;
hand1[1].y = 600.00;
addChild(hand1[2]);
hand1[2].x = 373.70;
hand1[2].y = 600.00;
addChild(hand1[3]);
hand1[3].x = 560.55;
hand1[3].y = 600.00;
//Show remaining card count left in deck on screen
var deck1l = deck1.length ;
player1count.text = deck1l