簡單撲克游戲之草圖

修改排序規(guī)則,按照大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3 的順序展示。

撲克游戲.gif

html

<div class="wrap"> 
    <div class="box-upper"></div> 
    <div class="box-center">
         <button class="discard" id="discard">出牌</button> 
         <button class="abandon" id="abandon">放棄</button> 
         <div class="preview" id="preview"></div> 
    </div> 
    <div class="box-below"></div> 
</div>

JS

$(init);

function init() {
    var list=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54];
    var pokerList = getArrayItems(list, 27);

    for(var index in pokerList) {
        getPos(pokerList[index]);
    }

    //選牌
    $("body").on("click", ".poker", function () {
        var that = $(this);
        if(that.hasClass("click-up")) {
            that.removeClass("click-up");
        } else {
            that.addClass("click-up");
        }
    });

    //出牌
    $("body").on("click", "#discard", function () {
        $(".click-up").each(function () {
            $(this).removeClass("click-up");
            $("#preview").append($(this).prop("outerHTML"));
            $(this).remove();
        });
    });

    //放棄
    $("body").on("click", "#abandon", function () {
        $(".click-up").each(function () {
            $(this).removeClass("click-up");
        });
    });

}
//從一個給定的數(shù)組arr中,隨機返回num個不重復(fù)項
function getArrayItems(arr, num) {
    var temp = new Array();
    var result = new Array();

    for (var index in arr) {
        temp.push(arr[index]);
    }
    for (var i = 0; i < num; i++) {
        if (temp.length > 0) {
            var arrIndex = Math.floor(Math.random() * temp.length);
            result[i] = temp[arrIndex];
            temp.splice(arrIndex, 1);
        } else {
            break;
        }
    }
    return result.sort(sortNumber);
}
//根據(jù)余數(shù)排序
function sortNumber(a, b) {
    var x = changeNum(a % 13, a);
    var y = changeNum(b % 13, b);
    return y - x;
}
//改變特殊牌的值
function changeNum(n, m) {
    var temp = n;
    switch (m) {
        case 53:
            temp = 18;
            n = -1;
            break;
        case 54:
            temp = 17;
            n = -1;
            break;
        default:
            break;
    }
    switch (n) {
        case 0:
            temp = 14;
            break;
        case 1:
            temp = 15;
            break;
        case 2:
            temp = 16;
            break;
        default:
            break;
    }
    return temp;
}
//根據(jù)序號指定精靈圖的位置
function getPos(index) {
    var left = (index % 13 == 0) ? 1080 : (index % 13 * 90 - 90);
    var top = (index % 13 == 0) ? (parseInt(index / 13) * 120 - 120) : (parseInt(index / 13) * 120);
    left *= -1;
    top *= -1;
    var html = "<div class='poker p" + index +"' id='p" + index + "' style='background-position: " + left + "px " + top + "px;'></div>";
    $(".box-below").append(html);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 體系結(jié)構(gòu)圖 邏輯流程圖 邏輯流程圖詳細 通訊圖 圖片參考簡書作者kamidox的文章使用 Sublime + Pl...
    ofelia_why閱讀 1,021評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,157評論 25 708
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 14,167評論 1 92
  • 培訓(xùn)第一天。搬東西爬上爬下。身體累。心還好。大概是開學(xué)前心理暗示很久,大概是去年真的艱難。今年開學(xué)有一種得心...
    彥寶閱讀 170評論 0 0

友情鏈接更多精彩內(nèi)容