斗地主洗牌发牌前端

效果图
斗地主.gif
后端代码

//创建一个存放poker的数组,表示从红桃到梅花的A~K,大王,小王
var count=54;
var pokers =new Array(count);
for(var i=0;i<54;i++){
  pokers[i]=i;
}

$(document).ready(function(){
  $(init);
});

function init(){
   shuffle();
//扑克选择,利用一个class标记选择状态并做出动画
   $(".poker").click(function(){
      if($(this).hasClass("select")){
        $(this).removeClass("select");
        $(this).animate({top:"+=50px"});
      }
      else{
      $(this).addClass("select");
      $(this).animate({top:"-=50px"});
    }
   });
//发牌
   $(".confirm").click(function(){
      if($(".display").children() != null){
        $(".display .poker").remove();
      }
    for(var i=0;i<13;i++){
      var index=".poker"+i;
      if($(index).hasClass('select')){
      // console.log($(index));

        $(".display").append($(index));
      }
    }
})

//取消
  $(".cancel").click(function(){
    for(var i=0;i<13;i++){
      var index=".poker"+i;
      if($(index).hasClass('select')){
        $(index).removeClass('select');
        $(index).animate({top:"+=50px"});
      }
    }
})
 }
//洗牌算法实现产生一个0~53且互不相同的数组
//洗牌
function shuffle(){
  for (var i = 0; i < 54; i++) {
  var rd=parseInt(Math.random()*54);
  var b=pokers[i] ;
   pokers[i]= pokers[rd];
   pokers[rd]=b;
}
//排序
    var i=13;
    var tempExchangVal;
    while (i > 0) {
        for (var j = 0; j < i - 1; j++) {
          if(pokers[j]===52){
                tempExchangVal = pokers[j];
                pokers[j] = pokers[j + 1];
                pokers[j + 1] = tempExchangVal;
                console.log("dawang");
          }
          else if(pokers[j]===53&&pokers[j+1]!==52){
                tempExchangVal = pokers[j];
                pokers[j] = pokers[j + 1];
                pokers[j + 1] = tempExchangVal;
          }
           else if ((pokers[j]+11)%13> (pokers[j + 1]+11)%13) {
                tempExchangVal = pokers[j];
                pokers[j] = pokers[j + 1];
                pokers[j + 1] = tempExchangVal;
            }
        }
        i--;
    }


  for(var i=0;i<13;i++){
      var x=pokers[i]%13*(-90);
      var y=parseInt(pokers[i]/13)*(-120);
      var left=x+"px";
      var top=y+"px";
      var pokeri="poker"+i;
      var html = $("<button class='poker'></button>").addClass(pokeri);
       html.css({"background-position":left+" "+top})
      $(".pokers").append(html);
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,705评论 25 709
  • 1.jdbc是什么,它有什么用? java database connection 让java程序员可以直接通过j...
    yeller阅读 577评论 0 2
  • 今天听小六的文章《让未来现在到来》,其中很触动我的一点就是说到,我们总是处于瞎忙,做什么,怎么做的状态,但是却很少...
    谢银环阅读 395评论 1 0
  • 如果有来世,谁又是我的来世?来世的我还是现在的我吗? 如果明天我来到你的门前,我们通常认为和今天在这里的我相同一个...
    Martin_马丁阅读 227评论 0 1
  • 康德 人,都向往美 美,是没有目的的快乐 美,需要自由,不会随心所欲 而是自我主宰 大自然的美 如此灿烂星空 如高...
    鱼和大象阅读 1,524评论 0 0