📄 doudizhu.as
字号:
var paramMoving = new Array();
function MovingCardsStart() { //每局開始的發牌效果
var i = 0;
if (paramMoving.length == 0) {
paramMoving.push(arrCards[i][0]);
paramMoving.push(screenRange[0]/2);
paramMoving.push(screenRange[1]/2);
paramMoving.push(arrCards[i][0].objCard._x);
paramMoving.push(arrCards[i][0].objCard._y);
paramMoving.push(1);
paramMoving.push(0);//发牌当前张数
//PlayFaPaiSound();
setIntervalMoving = setInterval(MovingCardsDeal, 600, i+1, 1);
MCPlayerNum1._visible = true;
MCPlayerNum2._visible = true;
MCPlayerNum3._visible = true;
if (mePlayer == 1) {
MCPlayerNum1.gotoAndStop(1);
MCPlayerNum2.gotoAndStop(5);
MCPlayerNum3.gotoAndStop(9);
}else if (mePlayer == 2) {
MCPlayerNum1.gotoAndStop(5);
MCPlayerNum2.gotoAndStop(9);
MCPlayerNum3.gotoAndStop(1);
}else {
MCPlayerNum1.gotoAndStop(9);
MCPlayerNum2.gotoAndStop(1);
MCPlayerNum3.gotoAndStop(5);
}
mcLeaveCardCount1._visible=true;
mcLeaveCardCount2._visible=true;
mcLeaveCardCount3._visible=true;
if(i +1 == mePlayer){
mcLeaveCardCount1.txtCount.text = Number(mcLeaveCardCount1.txtCount.text)+1;
}else if (i+1-mePlayer == 1 || i+1-mePlayer == -2) {
mcLeaveCardCount2.txtCount.text = Number(mcLeaveCardCount2.txtCount.text)+1;
}else{
mcLeaveCardCount3.txtCount.text = Number(mcLeaveCardCount3.txtCount.text)+1;
}
} else if (paramMoving[6]<53 && paramMoving[5] == 0) {
var len = ++paramMoving[6];
if (len<12) {
i = len%4;
len = int(len/4);
} else {
i = len%3;
len = int(len/3)-1;
}
if(i < 3){
if(i +1 == mePlayer){
mcLeaveCardCount1.txtCount.text = Number(mcLeaveCardCount1.txtCount.text)+1;
}else if (i+1-mePlayer == 1 || i+1-mePlayer == -2) {
mcLeaveCardCount2.txtCount.text = Number(mcLeaveCardCount2.txtCount.text)+1;
}else{
mcLeaveCardCount3.txtCount.text = Number(mcLeaveCardCount3.txtCount.text)+1;
}
}
paramMoving[0] = arrCards[i][len];
paramMoving[3] = arrCards[i][len].objCard._x;
paramMoving[4] = arrCards[i][len].objCard._y;
paramMoving[5] = 1;
PlayFaPaiSound();
mcPai._x = screenRange[0]/2+random(12)-6;
mcPai._y = screenRange[1]/2+random(12)-6;
setIntervalMoving = setInterval(MovingCardsDeal, 20, i+1, 5);
} else if (paramMoving[6]++>=53) {
_global.SendXml(_global.MessageEnum.EndFaPai);
PlaySound("tanpaiSound");
for (var j = 0; j<3; j++) {
OrderCards(arrCards[j], 1, j+1);
}
mcPai._visible = false;
}
}
function MovingCardsDeal(witchPlayer:Number, step) { //發牌效果處理函數
mczhunbei1._visible = false;
mczhunbei2._visible = false;
mczhunbei3._visible = false;
btnStartGame._visible = false;
var tmpCard = paramMoving[0];
var intX = paramMoving[1];
var intY = paramMoving[2];
var endX = paramMoving[3];
var endY = paramMoving[4];
var dealstep = paramMoving[5];
if (dealstep == 1) {
if (dizhuCardValue == tmpCard.cardValue) {
tmpCard.objCard.gotoAndStop(tmpCard.point);
tmpCard.objCard.swapDepths(9000);
tmpCard.objCard._alpha = 80;
}
tmpCard.objCard._visible = true;
tmpCard.objCard._x = intX;
tmpCard.objCard._y = intY;
}
paramMoving[5]++;
var stepX = (endX-intX)/step;
var stepY = (endY-intY)/step;
tmpCard.objCard._x += stepX;
tmpCard.objCard._y += stepY;
if (dealstep == step) {
tmpCard.objCard._x = endX;
tmpCard.objCard._y = endY;
paramMoving[5] = 0;
clearInterval(setIntervalMoving);
MovingCardsStart();
}
}
var setIntervalUpCards;
var setIntervalUpCardsCount = 0;
function ShowUpCards(){
mcCardPlatFormUp._visible=true;
for(var i = 0 ; i < 3 ; i++){
if(arrUpOutCards[i] != "pass" && arrUpOutCards[i] != "end" ){
var orgalCard = arrUpOutCards[i] .split(",");
for (var k = 0; k < orgalCard.length ; k++) {
arrUpOutCards[3+i].push(new ClassCardsUp(orgalCard[ k ] , orgalCard.length , i+1) );
}
}
}
setIntervalUpCardsCount = 4;
setIntervalUpCards = setInterval(ShowUpCardsInterval, 500);
}
function ShowUpCardsInterval(){
setIntervalUpCardsCount--;
if(setIntervalUpCardsCount < 0){
for(var i = 0 ; i < 3 ; i++){
ClearCards(arrUpOutCards[3+i]);
}
mcCardPlatFormUp._visible=false;
clearInterval(setIntervalUpCards);
}
}
function PositionDiZhu(visible:Boolean){
/*
if (dizhuPlayer == mePlayer) {
mcDiZhuMan._x = 210;
mcDiZhuMan._y = screenRange[1]-80;
mcDiZhuMan._xscale = 100;
} else if (dizhuPlayer-mePlayer == 1 || dizhuPlayer-mePlayer == -2) {//mePlayer的右边
mcDiZhuMan._x = screenRange[0]-60;
mcDiZhuMan._y = screenRange[1]/2;
mcDiZhuMan._xscale = 100;
mcDiZhuMan._xscale = -100;
} else {
mcDiZhuMan._x = 60;
mcDiZhuMan._y = screenRange[1]/2;
mcDiZhuMan._xscale = 100;
}
mcDiZhuMan._visible = visible;
*/
if (dizhuPlayer == mePlayer) {
mcPlayerRole1.gotoAndStop(1);
mcPlayerRole2.gotoAndStop(2);
mcPlayerRole3.gotoAndStop(2);
} else if (dizhuPlayer-mePlayer == 1 || dizhuPlayer-mePlayer == -2) {//mePlayer的右边
mcPlayerRole1.gotoAndStop(2);
mcPlayerRole2.gotoAndStop(1);
mcPlayerRole3.gotoAndStop(3);
}else{
mcPlayerRole1.gotoAndStop(2);
mcPlayerRole2.gotoAndStop(3);
mcPlayerRole3.gotoAndStop(1);
}
mcPlayerRole1._visible=true;
mcPlayerRole2._visible=true;
mcPlayerRole3._visible=true;
}
function PositionClock(visible:Boolean,witchPlayer:Number){
if (witchPlayer == mePlayer) {
mcClock._x = MCPlayerNum1._x+24;
mcClock._y = MCPlayerNum1._y-30;
} else if (witchPlayer-mePlayer == 1 || witchPlayer-mePlayer == -2) {//mePlayer的右边
mcClock._x = MCPlayerNum2._x+24;
mcClock._y = MCPlayerNum2._y-30;
} else {
mcClock._x = MCPlayerNum3._x+24;
mcClock._y = MCPlayerNum3._y-30;
}
mcClock._visible = visible;
mcClock.TxtCountDown.text = 30;
}
function ChuPaiBtnState(state){
if(state == "start"){
if(curFirstPlayer == mePlayer){
btnOpenCard._visible=true;
btnNoOpenCard._visible=false;
btnHintCard._visible=false;
btnOpenCard.enabled=true;
btnNoOpenCard.enabled=true;
btnHintCard.enabled=true;
}else{
btnOpenCard._visible=true;
btnNoOpenCard._visible=true;
btnHintCard._visible=true;
btnOpenCard.enabled=true;
btnNoOpenCard.enabled=true;
btnHintCard.enabled=true;
}
}else if(state == "starting"){
btnOpenCard.enabled=false;
btnNoOpenCard.enabled=false;
btnHintCard.enabled=false;
}else if(state == "started"){
btnOpenCard._visible=false;
btnNoOpenCard._visible=false;
btnHintCard._visible=false;
}
}
function JiaoPaiBtnState(state){
if(state == "start0"){
mcSmallMoney._visible=true;
mcSmallMoney._alpha = 100;
mcBigMoney._visible=true;
btnNoCall._visible=true;
mcSmallMoney.btnMoney.enabled= true;
mcSmallMoney.enabled = true;
mcBigMoney.btnMoney.enabled = true;
mcBigMoney.enabled = true;
btnNoCall.enabled = true;
}else if(state == "start1"){
mcSmallMoney.TxtMoney.enabled = false;
mcSmallMoney.btnMoney.enabled= false;
mcSmallMoney._alpha = 50;
mcSmallMoney._visible=true;
mcBigMoney._visible=true;
mcBigMoney.btnMoney.enabled = true;
mcBigMoney.enabled = true;
btnNoCall._visible=true;
btnNoCall.enabled = true;
}else if(state == "starting"){
mcSmallMoney.btnMoney.enabled= false;
mcBigMoney.btnMoney.enabled = false;
btnNoCall.enabled = false;
mcSmallMoney.enabled = false;
mcBigMoney.enabled = false;
}else if(state == "started"){
mcSmallMoney._visible=false;
mcBigMoney._visible=false;
btnNoCall._visible=false;
}
}
function FunctionBtnState(state){
if(state == "start"){
mcOrder._visible=false;
mcTuoGuan._visible=false;
mcshangyilun._visible=false;
}else if(state == "starting"){
mcOrder._visible=true;
mcTuoGuan._visible=true;
mcshangyilun._visible=true;
}
}
var varShakeCount = 0;
var IntervalShakeDeskTop;
function ShakeDeskTop() { //炸彈爆炸的桌面抖動效果
if(varShakeCount == 0) {
IntervalShakeDeskTop = setInterval(ShakeDeskTop, 100);
varShakeCount++;
}else if (varShakeCount<15) {
_y = random(30)-15;
_x = random(30)-15;
varShakeCount++;
} else {
varShakeCount = 0;
_y = 0;
_x = 0;
clearInterval(IntervalShakeDeskTop);
}
}
//---------------------------------------------------------------------------------声音------------------------------------------------------------------------------------
var curCountDownState = "";
var varCountDown = 0;
var IntervalCountDown;
function CountDownStart(state) {// 出牌或叫牌_倒計時
clearInterval(IntervalCountDown);
varCountDown = 30;
curCountDownState = state;
mcClock.TxtCountDown.text = varCountDown;
IntervalCountDown = setInterval(CountDownDeal, 1000);
}
function CountDownDeal() { // _倒計時對應的處理函數
if (varCountDown > 0) {
varCountDown--;
mcClock.TxtCountDown.text = varCountDown;
if(varCountDown<5){
PlaySound("countdown");
}
} else {
if(curCountDownState == "startjiaopai" && dizhuPlayer == mePlayer){//叫牌超时
curCountDownState = "";
JiaoPaiBtnState("starting");
_global.SendXml(_global.MessageEnum.JiaoPai , "pass");
}else if(curCountDownState == "startchupai" && mePlayer == curChuPlayer){//出牌超时(出最小的一张牌 或 PASS)
if(curFirstPlayer ==curChuPlayer){
EnabledCards(arrCards[mePlayer-1] , false );
OrderCards(arrCards[mePlayer-1], 1, mePlayer);
var _len = arrCards[mePlayer-1].length - 1;
arrCards[mePlayer-1][_len].objCard.states = 2;
_global.SendXml(_global.MessageEnum.ChuPai , arrCards[mePlayer-1][_len].cardValue);
}else{
OrderCards(arrCards[mePlayer-1], 1, mePlayer);
_global.SendXml(_global.MessageEnum.ChuPai , "pass");
}
ChuPaiBtnState("starting");
}
clearInterval(IntervalCountDown);
}
}
var musicFaPaiSound:Sound = new Sound();
musicFaPaiSound.loadSound("ddzfapai.mp3", false);
PlayFaPaiSound = function () {
musicFaPaiSound.start();
};
var musicCounDown:Sound = new Sound();
musicCounDown.loadSound("countdown.mp3", false);
var musictanpaiSound:Sound = new Sound();
musictanpaiSound.loadSound("baipai.mp3", false);
PlaySound = function (id:String) {
if(id == "countdown"){
musicCounDown.start();
}else if(id == "tanpaiSound"){
musictanpaiSound.start();
}
};
//---------------------------------------------------------------服务器端洗牌-----------------------------------------------
/*************************************InArea*************************************************/
function OnInAreaCallBack(e) {
if("waiting" == e.attributes.Arg0){
LoadState.StateFont.text = varState[1];
}else if("starting" == e.attributes.Arg0){//開始遊戲
mePlayer = e.attributes.Arg1;
dizhuPlayer = e.attributes.Arg2;
CreateDeck(e.attributes.Arg3);
}else if("isGaming" == e.attributes.Arg0){ //在遊戲了(不能進入)
LoadState.StateFont.text = varState[5];
}else if("OnLineCount" == e.attributes.Arg0){ //在綫情況
var _tmpCount = Number(e.attributes.Arg1);
}else if("NotOpen" == e.attributes.Arg0){ //未開場
LoadState.StateFont.text = varState[6];
}else if("noEnoughMoney" == e.attributes.Arg0){ //金額不足
LoadState.StateFont.text = varState[7];
}else if("isStop" == e.attributes.Arg0){ //用戶已被暫停
LoadState.StateFont.text = varState[9];
}
}
_global.AddLister(_global.MessageEnum.InArea, OnInAreaCallBack);
_global.SendXml(_global.MessageEnum.InArea, _global.CommonVariable.RoomID , _global.CommonVariable.SetMoney);
function InitProc(){
for (var i = 1; i<25; i++) {
var _obj = eval("mcFangJian.mcZuo"+String(i));
if (i<10) {
_obj.txtNumber.text = "0"+String(i);
} else {
_obj.txtNumber.text = String(i);
}
var _ran = random(3);
_obj.gotoAndStop(4+ _ran);
}
}
InitProc();
/*************************************StartDDZ準備*************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -