Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何创建If语句以检入特定对象的数组。Flash CS5动作脚本3_Arrays_Actionscript 3_Actionscript_Flash Cs5 - Fatal编程技术网

Arrays 如何创建If语句以检入特定对象的数组。Flash CS5动作脚本3

Arrays 如何创建If语句以检入特定对象的数组。Flash CS5动作脚本3,arrays,actionscript-3,actionscript,flash-cs5,Arrays,Actionscript 3,Actionscript,Flash Cs5,我目前正在对一个朋友和我自己设计的纸牌游戏进行数字化,但是我在一些基本的编码方面遇到了问题。到目前为止,我所知道的是,代码将填充一个“牌组”(数组),然后将其随机化,然后将4张牌放入一个“手”(数组),然后当前将4个数组条目的电影片段以特定坐标加载到舞台上 我想做的是,因为我在舞台上的空间很快就会用完,所以我要为每种卡类型设置定义的位置(目前它们只是按照它们所绘制的顺序加载) 我所要做的是让代码1)检查数组是否包含至少一张卡,然后将所述卡加载到其坐标中的舞台上,然后填充一个动态文本框,以显示手中

我目前正在对一个朋友和我自己设计的纸牌游戏进行数字化,但是我在一些基本的编码方面遇到了问题。到目前为止,我所知道的是,代码将填充一个“牌组”(数组),然后将其随机化,然后将4张牌放入一个“手”(数组),然后当前将4个数组条目的电影片段以特定坐标加载到舞台上

我想做的是,因为我在舞台上的空间很快就会用完,所以我要为每种卡类型设置定义的位置(目前它们只是按照它们所绘制的顺序加载)

我所要做的是让代码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

为卡片创建一个类,然后为每种类型的卡片创建子类

也就是说,您将有一个类
,它将保存卡的所有公共属性。然后你可能有
战斗卡
行动卡
被动卡
,等等

在绘图时,可以使用简单有效的方法将它们放置在舞台上。大概是这样的:

每张卡将有一个公共属性类型,它将是一个整数。也就是说,战斗卡的类型将是2

然后你会有一个点向量,每个点的位置对应于每种类型的牌。因此向量中的第三个元素将具有放置战斗卡的坐标


起草时,您只需调用
位置卡(card)
,该卡将读取其类型并将其添加到所属位置。

您不清楚自己在问什么。你知道如何用for循环遍历数组吗?老实说,我不知道你刚才说了什么。我想要的是一个if语句或类似语句,它表示如果数组中有一个Attck对象或其他对象,那么就添加该对象的子对象。我只是不懂如何编写代码。我也在寻找一种在数组中计算重复对象的方法。你的牌组和手都是一个数组。如果您不确定数组或for循环是什么,最好退一步了解如何迭代数组。如果您这样做,您将能够利用这些知识来迭代一个数组,并计算牌组或手牌中给定牌的实例。