⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doudizhu.as

📁 flash版斗地主程序
💻 AS
📖 第 1 页 / 共 3 页
字号:
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 + -