js-实现一副牌的初始化,洗牌,发牌

<script>
		var card = ['2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , 'J' , 'Q' , 'K' , 'A']; //13种
		var flower = ['方块' , '梅花' , '红桃' , '黑桃' ]; //花色
		var card_all = new Array(54); //初始一副牌 54张
		var n = 0; //牌的下标
		for( var i = 0 ; i < card.length ; i++) {
			for (var j = 0; j < flower.length; j++) {
				card_all[n] = flower[j] + card[i];
				n++;
			}
		}
		//添加大小王
		card_all[52] = '大王';
		card_all[53] = '小王';
		
		document.writeln("--------新牌如下:---------" + "<br />");
		for (var i = 0; i < card_all.length; i++) {
			document.writeln(card_all[i]);
		}
		
		//进行100次交换
		var temp ; //交换中间变量
		for( var i = 0 ; i < 100 ; i++){
			var num1 = Math.floor((Math.random()*54));
			var num2 = Math.floor((Math.random()*54)); //产生 0-53之间的整数
			temp = card_all[num1] ;
			card_all[num1] = card_all[num2];
			card_all[num2] = temp;
		} 
		document.writeln('<br />' + "--------洗牌后如下:---------" + "<br />");
		for (var i = 0; i < 54; i++) {
			document.writeln(card_all[i]);
		}
		//给三个人,一人18张牌
		var card_one = new Array(18); 
		var card_two = new Array(18); 
		var card_three = new Array(18);
		//三个人的下标 
		var one = 0;
		var two = 0;
		var three = 0 ;
		/*
		第一个人取下标 0 3 6 ... (0 + x * 3)
		第二个人取下标 1 4 7 ... (1 + x * 3)
		第三个人取下标 2 5 8 ... (2 + x * 3)
		*/
		for (var i = 0; i < 54; i++) {
			if( i % 3 == 0){
				card_one[one] = card_all[i];
				one++;
			}else if( i % 3 == 1){
				card_two[two]=card_all[i];
				two++;
			}else{
				card_three[three]=card_all[i];
				three++;
			}
		}
		//下面就是输出三个人的牌了
	document.writeln('<br />' + "--------第一个人的牌:---------" + "<br />");
		
		for (var i = 0; i < 18; i++) {
			document.writeln(card_one[i]);
		}
	
	
	document.writeln('<br />' + "--------第二个人的牌:---------" + "<br />");
		
		for (var i = 0; i < 18; i++) {
			document.writeln(card_two[i]);
		}
	
	document.writeln('<br />' + "--------第三个人的牌:---------" + "<br />");
		
		for (var i = 0; i < 18; i++) {
			document.writeln(card_three[i]);
		}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值