2024春晚刘谦魔术流程解密解析实现javascript

1 篇文章 0 订阅
1 篇文章 0 订阅
这篇文章通过JavaScript代码展示了刘谦春晚魔术中利用数组操作实现的牌组变化,包括随机抽取、移动和组合,模拟了神奇的找牌效果。
摘要由CSDN通过智能技术生成

2024春晚刘谦的魔术就是数组的操作。

8张牌,抽一张牌最后神奇找到另一半

javascript代码实现。感谢网友指导。

任意取牌刷新页面换牌
K_a,7_a,A_a,3_a,K_b,7_b,A_b,3_b
名字的长度3
7_a,A_a,3_a,K_b,7_b,A_b,3_b,K_a
A_a,3_a,K_b,7_b,A_b,3_b,K_a,7_a
3_a,K_b,7_b,A_b,3_b,K_a,7_a,A_a
最上面三张
3_a,K_b,7_b
最上面三张移动2位置
A_b,3_b,3_a,K_b,7_b,K_a,7_a,A_a
神秘牌【A_b】
3_b,3_a,K_b,7_b,K_a,7_a,A_a
南方人北方人拿1张
3_b
南方人北方人移动3位置
3_a,K_b,7_b,3_b,K_a,7_a,A_a
男生女生仍2张
7_b,3_b,K_a,7_a,A_a
见证奇迹的时刻移动7次
3_b,K_a,7_a,A_a,7_b
K_a,7_a,A_a,7_b,3_b
7_a,A_a,7_b,3_b,K_a
A_a,7_b,3_b,K_a,7_a
7_b,3_b,K_a,7_a,A_a
3_b,K_a,7_a,A_a,7_b
K_a,7_a,A_a,7_b,3_b
好运留下来移动K_a
移动4位置
7_a,A_a,7_b,3_b,K_a
烦恼丢出去1张
A_a,7_b,3_b,K_a
好运留下来移动A_a
移动3位置
7_b,3_b,K_a,A_a
烦恼丢出去1张
3_b,K_a,A_a
好运留下来移动3_b
移动2位置
K_a,A_a,3_b
烦恼丢出去1张
A_a,3_b
好运留下来移动A_a
移动1位置
3_b,A_a
烦恼丢出去1张
A_a
A_a
丢牌剩最后一张牌【A_a】

<html>


<body>

<script>



//var card=[
//"梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K",
//"方片A","方片2","方片3","方片4","方片5","方片6","方片7","方片8","方片9","方片10","方片J","方片Q","方片K",
//"红桃A","红桃2","红桃3","红桃4","红桃5","红桃6","红桃7","红桃8","红桃9","红桃10","红桃J","红桃Q","红桃K",
//"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
//"大鬼","小鬼"


//];

 var card=[
"A","2","3","4","5","6","7","8","9","10","J","Q","K"
];


//var cardNum = 54
var cardNum = 13

document.write("任意取牌刷新页面换牌</br>");

var cardTmp =[];


 var tmp1 = sum (0,cardNum);
 var tmp2 = sum (0,cardNum);
 
 while(tmp2==tmp1){
  tmp2 = sum (0,cardNum);
 }
 
 while(tmp2==tmp3){
  tmp2 = sum (0,cardNum);
 }
 
 while(tmp2==tmp4){
  tmp2 = sum (0,cardNum);
 }
 
 
 var tmp3 = sum (0,cardNum);
 
 while(tmp3==tmp1){
  tmp3 = sum (0,cardNum);
 }
 
 while(tmp3==tmp2){
  tmp3 = sum (0,cardNum);
 }
 
 while(tmp3==tmp4){
  tmp3 = sum (0,cardNum);
 }
 
 
 var tmp4 = sum (0,cardNum);
  
   while(tmp4==tmp1){
  tmp4 = sum (0,cardNum);
 }
  
  while(tmp4==tmp2){
  tmp4 = sum (0,cardNum);
 }
 while(tmp4==tmp3){
  tmp4 = sum (0,cardNum);
 }
 
 
 cardTmp.push(card[tmp1]+"_a");
 cardTmp.push(card[tmp2]+"_a");
 cardTmp.push(card[tmp3]+"_a");
 cardTmp.push(card[tmp4]+"_a");
 cardTmp.push(card[tmp1]+"_b");
 cardTmp.push(card[tmp2]+"_b");
 cardTmp.push(card[tmp3]+"_b");
 cardTmp.push(card[tmp4]+"_b");
 document.write(cardTmp+"</br>");
 
 var name = sum (1,9);
 
 document.write("名字的长度"+name+"</br>");
 
 for (var i =0;i<name;i++){
 
    var tmp = cardTmp[0];
    cardTmp.splice(0,1);
	cardTmp.push(tmp);
	 document.write(cardTmp+"</br>");
 }
 
 
 
 document.write("最上面三张"+"</br>");
 
 var cardTop=  cardTmp.splice(0,3);
 
  document.write(cardTop+"</br>");
  
  var move = sum (1,5);
  
  document.write("最上面三张移动"+move+"位置"+"</br>");
  
  
var cardTmp1=  cardTmp.splice(0,move);



cardTmp =  cardTmp1.concat(cardTop).concat(cardTmp);
 
document.write(cardTmp+"</br>");


cardTmp1 = cardTmp.splice(0,1);

document.write("神秘牌【"+cardTmp1+"】</br>");

document.write(cardTmp+"</br>");


///
 var position = sum(1,4);
 document.write("南方人北方人拿"+position+"张</br>");
 
  cardTop=  cardTmp.splice(0,position);
 
  document.write(cardTop+"</br>");
  
   move = sum (1,4);
  
  document.write("南方人北方人移动"+move+"位置"+"</br>");
  
  
 cardTmp1=  cardTmp.splice(0,move);



cardTmp =  cardTmp1.concat(cardTop).concat(cardTmp);
 
document.write(cardTmp+"</br>");


var sex = sum(1,3);
document.write("男生女生仍"+sex+"张</br>");
cardTmp.splice(0,sex);

document.write(cardTmp+"</br>");


 document.write("见证奇迹的时刻移动7次"+"</br>");
 
 for (var i =0;i<7;i++){
 
    var tmp = cardTmp[0];
    cardTmp.splice(0,1);
	cardTmp.push(tmp);
	 document.write(cardTmp+"</br>");
 }
 
for(var i=0;i<cardTmp.length+3;i++){
///
 var position = 1;
 
 
  cardTop=  cardTmp.splice(0,position);
 
  
  document.write("好运留下来移动"+cardTop+"</br>");
  
   move = cardTmp.length;
  
  document.write("移动"+move+"位置"+"</br>");
  
  
 cardTmp1=  cardTmp.splice(0,move);



cardTmp =  cardTmp1.concat(cardTop).concat(cardTmp);
 
document.write(cardTmp+"</br>");



document.write("烦恼丢出去"+position+"张</br>");

cardTmp.splice(0,1);
document.write(cardTmp+"</br>");

}




document.write(cardTmp+"</br>");



document.write("丢牌剩最后一张牌【"+cardTmp[cardTmp.length-1]+"】</br>");
 

function sum (m,n){
  var num = Math.floor(Math.random()*(m - n) + n);
  return num ;
}

</script>

</body>

</html>

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值