/*
13张牌的麻将
目前实现包括洗牌 分排 各个牌的状态的管理
*/
//麻将总数
var totalCount:Number = 136;
//类型总数
var typeCount:Number = 34;
//每种类型的个数
var typeNum:Number = 4;
/////////
//所有牌的存储
var rand:Array = new Array(totalCount);
//所有牌的状态 每张牌的状态-1:出手的牌 0:未抓的牌 1:在手中的牌
var randState:Array = new Array(totalCount);
//用于洗牌的临时数组
var state_ar:Array =new Array(typeCount)
//每个成员手中的牌
var member_ar:Array =new Array(typeNum);
/////////
//初始化数组
for(var i=0;i<totalCount;i++)
{
state_ar[i] = 0;
randState[i] = 0;
}
for(var i=0;i<typeNum;i++)
{
member_ar[i] = new Array();
}
/////////////////
for(var i=0;i<totalCount;i++)
{
rand[i] = random(typeCount);
if(state_ar[i]<typeNum)
{
state_ar[i]++;
}
else
{
while(state_ar[i]>=typeNum)
{
rand[i] = random(typeCount);
}
}
//前12张
if(i < 48)
{
member_ar[int(i/4)%4].push(rand[i]);
randState[i] = 1;
}
else
//单张
if(i > 47 && i < 53)
{
member_ar[i % 4].push(rand[i]);
randState[i] = 1;
}
}
////////////////////////////////////
//洗过的牌
trace(rand);
trace('----------------------------')
//庄家抓的牌
trace(member_ar[0]);
trace('----------------------------')
//第一个下家的牌
trace(member_ar[1]);
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}