zoukankan      html  css  js  c++  java
  • html5+css3+js实现象棋游戏功能

    ie10版本

    View Code
    <!DOCTYPE html>
    <!-- 
        begin   : 20130508
        author  : Spider (利用js复习对象概念)
        20130508: 背景 棋盘 双方 棋子等对象定义 
        20130509: 棋盘 双方 棋子等对象功能实现 
        20130510: 各对象之间功能交换实现游戏规则
        20130511: 加入刚学到HTML5_CSS3部分效果(ie10)
    -->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>JS_HTML5_CSS3练习象棋游戏ie10</title>
        <style type="text/css">
            *
            {
                margin: 0px;
                padding: 0px;
            }
    
            #bgdiv
            {
                border: 0px solid #00ff21;
            }
    
            #bg
            {
                background-image: url("bg.jpg");
                width: 600px;
                height: 600px;
            }
    
            #box
            {
                width: 495px;
                height: 500px;
                border: 1px solid rgba(0, 255, 33, 0.00);
                top: 10px;
                left: 10px;
                position: absolute;
                z-index: 1;
                /*column-count: 9;*/
            }
    
            .di
            {
                margin: 3px;
                width: 49px;
                height: 44px;
                border: 0px solid #ffd800;
                float: left;
                background-color: rgba(200, 193, 147, 0.00);
                border-radius: 25px;
            }
    
            .qz
            {
                margin: 1px;
                width: 40px;
                height: 40px;
                border: 1px solid #00ffff;
                border-radius: 25px;
                font-size: 35px;
                background-color: #bd8143;
                text-align: center;
                cursor: pointer;
                position: relative;
                transition: transform 1s, width 0.5s, height 0.5s,top 0.5s,left 0.5s,font-size 0.5s;
                /*transition-delay: 0.5s;*/
                box-shadow: 5px 5px 15px #888888;
                font-family: 隶书;
            }
    
            .d3:hover
            {
                top: -3px;
                left: -3px;
            }
    
            .d4
            {
                width: 46px;
                height: 46px;
                font-size: 40px;
                transform: rotate(360deg);
            }
    
            .qz0
            {
                color: red;
            }
    
            .qz1
            {
                color: black;
            }
    
            .delz
            {
                width: 90px;
                height: 500px;
                border: 1px solid rgba(0, 255, 255, 0.00);
                top: 10px;
                left: 10px;
                position: absolute;
                z-index: 1;
                /*column-count: 2;*/
            }
    
            .tiqi
            {
                border: 1px solid #00ff21;
            }
    
            @keyframes action01
            {
            }
        </style>
        <script type="text/javascript">
            //B:工厂  E:事件  F:方法
            //-------------------------
            //快捷获取DOM
            function A(id) {
                if (typeof id == "string") {
                    return document.getElementById(id);
                }
                else if (typeof id == "object") {
                    return id;
                }
            }
            //快捷获取DOM id名
            function sA(id) {
                if (typeof id == "string") {
                    return id;
                }
                else if (typeof id == "object") {
                    return id.id;
                }
            }
            //alert
            function al(s) {
                alert(s);
            }
            //快捷parseInt
            function pi(s) {
                return parseInt(s);
            }
            //快捷parseFloat
            function pf(s) {
                return parseFloat(s);
            }
            //快捷Number
            function nb(s) {
                return Number(s);
            }
            //取element的viewport(可视区域)坐标
            function viewtblr(id) {
                return A(id).getBoundingClientRect();
            }
    
            //
            function ms0(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                //
                for (var i = dq - 9 ; i >= 0; i -= 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq + 9 ; i <= 89; i += 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq - 1 ; i % 9 >= 0; i -= 1) {
                    if (i % 9 == 8) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq + 1 ; i % 9 <= 8  ; i += 1) {
                    if (i % 9 == 0) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                return re;
            }
            //
            function ms1(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                if (dq % 9 != 0 && dq != 0 && dq - 18 >= 0 && ts.fang.qp.getdizqz(dq - 9) == undefined) {
                    re.push(dq - 19);
                }
                if ((dq + 1) % 9 != 0 && dq + 18 <= 89 && ts.fang.qp.getdizqz(dq + 9) == undefined) {
                    re.push(dq + 19);
                }
                if ((dq + 1) % 9 != 0 && dq - 18 >= 0 && ts.fang.qp.getdizqz(dq - 9) == undefined) {
                    re.push(dq - 17);
                }
                if (dq % 9 != 0 && dq != 0 && dq + 18 <= 89 && ts.fang.qp.getdizqz(dq + 9) == undefined) {
                    re.push(dq + 17);
                }
                if (dq - 9 >= 0 && dq % 9 != 0 && (dq - 1) % 9 != 0 && ts.fang.qp.getdizqz(dq - 1) == undefined) {
                    re.push(dq - 11);
                }
                if (dq + 9 <= 89 && (dq + 1) % 9 != 0 && (dq + 2) % 9 != 0 && ts.fang.qp.getdizqz(dq + 1) == undefined) {
                    re.push(dq + 11);
                }
                if (dq - 9 >= 0 && (dq + 1) % 9 != 0 && (dq + 2) % 9 != 0 && ts.fang.qp.getdizqz(dq + 1) == undefined) {
                    re.push(dq - 7);
                }
                if (dq + 9 <= 89 && dq % 9 != 0 && (dq - 1) % 9 != 0 && ts.fang.qp.getdizqz(dq - 1) == undefined) {
                    re.push(dq + 7);
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms2(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 47: 1, 51: 1, 63: 1, 67: 1, 71: 1, 83: 1, 87: 1 };
                }
                else {
                    fw = { 38: 1, 42: 1, 26: 1, 22: 1, 18: 1, 2: 1, 6: 1 };
                }
                if ((dq - 20) in fw && ts.fang.qp.getdizqz(dq - 10) == undefined) {
                    re.push(dq - 20);//左上
                }
                if ((dq + 20) in fw && ts.fang.qp.getdizqz(dq + 10) == undefined) {
                    re.push(dq + 20);//右下
                }
                if ((dq - 16) in fw && ts.fang.qp.getdizqz(dq - 8) == undefined) {
                    re.push(dq - 16);//右上
                }
                if ((dq + 16) in fw && ts.fang.qp.getdizqz(dq + 8) == undefined) {
                    re.push(dq + 16);//左下
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms3(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 66: 1, 68: 1, 76: 1, 84: 1, 86: 1 };
                }
                else {
                    fw = { 3: 1, 5: 1, 13: 1, 21: 1, 23: 1 };
                }
                if ((dq - 10) in fw) {
                    re.push(dq - 10);//左上
                }
                if ((dq + 10) in fw) {
                    re.push(dq + 10);//右下
                }
                if ((dq - 8) in fw) {
                    re.push(dq - 8);//右上
                }
                if ((dq + 8) in fw) {
                    re.push(dq + 8);//左下
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms4(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 66: 1, 67: 1, 68: 1, 75: 1, 76: 1, 77: 1, 84: 1, 85: 1, 86: 1 };
                }
                else {
                    fw = { 3: 1, 4: 1, 5: 1, 12: 1, 13: 1, 14: 1, 21: 1, 22: 1, 23: 1 };
                }
                if ((dq - 9) in fw) {
                    re.push(dq - 9);//
                }
                if ((dq + 9) in fw) {
                    re.push(dq + 9);//
                }
                if ((dq - 1) in fw) {
                    re.push(dq - 1);//
                }
                if ((dq + 1) in fw) {
                    re.push(dq + 1);//
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms5(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                //
                var cc = 0;
                for (var i = dq - 9 ; i >= 0; i -= 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq + 9 ; i <= 89; i += 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq - 1 ; i % 9 >= 0; i -= 1) {
                    if (i % 9 == 8) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq + 1 ; i % 9 <= 8  ; i += 1) {
                    if (i % 9 == 0) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                return re;
            }
            //
            function ms6(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                if (ts.fh == 0 && dq - 9 >= 0) {
                    re.push(dq - 9);//
                }
                if (ts.fh == 1 && dq + 9 <= 89) {
                    re.push(dq + 9);//
                }
                if (dq % 9 != 0 && dq != 0) {
                    re.push(dq - 1);//
                }
                if ((dq + 1) % 9 != 0) {
                    re.push(dq + 1);//
                }
                ts.chiziwz();
                return re;
            }
            //F恢复className
            function reclsnme(dv) {
                if (qp.tq_qz) qp.tq_qz.div.className = qp.tq_qz.div.className.replace(" d4", "");
            }
            //E右键放下提起的棋子
            function qzdown(e) {
                qp.cldiclick();
                qp.clqzclick();
                qp.ydf == 0 ? qp.hong.setqzclick(tiqiqz) : qp.hei.setqzclick(tiqiqz);
                reclsnme(qp.tq_qz.div);
                if (e.button == 0) {
                    e.target.click = tiqiqz;
                    e.target.click();
                }
            }
            //E可以被吃棋子的点击事件
            function beichiqz(e) {
                qp.shijian = e;
                qp.clqzclick();
                //动画
                var ts = e.target;
                var tsxy = viewtblr(ts);
                var dq = qp.tq_qz.div;
                var dqxy = viewtblr(dq);
                A("body1").appendChild(dq);
                ts.style.zIndex = 2;
                dq.style.position = "absolute";
                dq.style.top = dqxy.top + "px";
                dq.style.left = dqxy.left + "px";
                setTimeout(csf3, 0);
            }
            //??
            function csf3() {
                var ts = qp.shijian.target;
                var tsxy = viewtblr(ts);
                var dq = qp.tq_qz.div;
                var dqxy = viewtblr(dq);
                var mm = qp.ydf == 0 ? "delz0" : "delz1";
                dq.style.top = (dqxy.top + (tsxy.top - dqxy.top)) + "px";
                dq.style.left = (dqxy.left + (tsxy.left - dqxy.left)) + "px";
                qp.d_i = ts.qz.getqzzdi();
                A("body1").appendChild(ts);
                ts.style.position = "absolute";
                ts.style.top = tsxy.top + "px";
                ts.style.left = tsxy.left + "px";
                ts.style.top = (tsxy.top + (viewtblr(mm).top - tsxy.top)) + 0 + "px";
                ts.style.left = (tsxy.left + (viewtblr(mm).left - tsxy.left)) + 25 + "px";
                setTimeout(reclsnme(), 0);
                setTimeout(csf4, 900);
            }
            //??
            function csf4() {
                var ts = qp.shijian.target;
                qp.tq_qz.div.style.position = "static";
                ts.style.position = "static";
                if (ts.id == "qz14") {
                    al("红方胜");
                    document.form1.submit();
                }
                else if (ts.id == "qz085") {
                    al("黑方胜");
                    document.form1.submit();
                }
                var d_i = qp.d_i;
                qp.ydf == 0 ? qp.delz0.appendChild(ts) : qp.delz1.appendChild(ts);
                ts.dqwz = -1;
                ts.qz.huo = false;
                d_i.appendChild(qp.tq_qz.div);
                qp.tq_qz.dqwz = pi(d_i.id.replace("div", ""));
                qp.jiaohuan();
            }
            //E空底落下棋子 并换方
            function luoxiaqz(e) {
                qp.shijian = e;
                qp.clqzclick();
                //动画
                var ts = e.target;
                var tsxy = viewtblr(ts);
                var dq = qp.tq_qz.div;
                var dqxy = viewtblr(dq);
                A("body1").appendChild(dq);
                dq.style.position = "absolute";
                dq.style.top = dqxy.top + "px";
                dq.style.left = dqxy.left + "px";
                setTimeout(csf1, 0);
            }
            //??
            function csf1() {
                var ts = qp.shijian.target;
                var tsxy = viewtblr(ts);
                var dq = qp.tq_qz.div;
                var dqxy = viewtblr(dq);
                dq.style.top = (dqxy.top + (tsxy.top - dqxy.top)) + "px";
                dq.style.left = (dqxy.left + (tsxy.left - dqxy.left)) + "px";
                setTimeout(reclsnme(), 0);
                setTimeout(csf2, 800);
            }
            //??
            function csf2() {
                var ts = qp.shijian.target;
                qp.tq_qz.div.style.position = "static";
                ts.appendChild(qp.tq_qz.div);
                qp.tq_qz.dqwz = pi(ts.id.replace("div", ""));
                qp.jiaohuan();
            }
            //E提起棋子
            function tiqiqz(e) {
                var ts = this;
                //if (ts.qz.fang.qp.ydf != ts.qz.fh) return;
                ts.qz.fang.qp.clqzclick();
                ts.qz.fang.qp.tq_qz = ts.qz;//设置当前提起的棋子
                ts.style.borderColor = "#00ff21";
                ts.className = ts.className + " d4";
                //ts.qz.lzwz = ts.qz.luoziwz();
                //ts.qz.czwz = ts.qz.chiziwz();
                //空底绑定落子事件
                for (var i = 0 ; i < ts.qz.lzwz.length; i++) {
                    qp.di[ts.qz.lzwz[i]].onclick = luoxiaqz;
                    qp.di[ts.qz.lzwz[i]].style.borderColor = "red";
                }
                //对方子绑定被吃事件
                for (var i = 0 ; i < ts.qz.czwz.length; i++) {
                    ts.qz.czwz[i].qz.setclick_1(beichiqz);
                    ts.qz.czwz[i].style.borderColor = "black";
                }
                ts.qz.fang.setqzclick(qzdown);
            }
    
            //B棋子基类
            function getqz(fang, name, wei, mox) {
                var qz = new Object();
                qz.fang = fang;//所属的红黑方对象
                qz.name = name;//棋子名
                qz.fh = fang.fh;//方号
                qz.mox = mox;//棋子模型编号
                var d = document.createElement('div');//创建棋子的div
                d.className = "d3 qz qz" + fang.fh;
                d.id = "qz" + qz.fh + wei;
                d.innerHTML = qz.name;
                qz.div = d;//绑定棋子的div
                qz.div.qz = qz;//div中绑定棋子对象
                fang.qp.di[wei].appendChild(qz.div);//添加到方
                qz.huo = true;//棋子生死
                qz.dqwz = wei;//当前位置
                qz.lzwz = [];//可以移动到的位置
                qz.czwz = [];//能吃到对方子的div
                //方法
                qz.kezou = function (mox) {//F根据模式分支选择
                    switch (mox) {
                        case 0:
                            return ms0(this);
                        case 1:
                            return ms1(this);
                        case 2:
                            return ms2(this);
                        case 3:
                            return ms3(this);
                        case 4:
                            return ms4(this);
                        case 5:
                            return ms5(this);
                        case 6:
                            return ms6(this);
                    }
                }
                qz.kechi = function (mox) {//F根据模式选择分支
    
                }
                qz.luoziwz = function () {//F获取落子位置 底的编号数组
                    this.lzwz = [];
                    this.czwz = [];
                    this.kezou(qz.mox);
                    return this.lzwz;
                }
                qz.chiziwz = function () {//F获取能吃对方子位置 对方子的div数组
                    var re = this.lzwz;
                    var le = re.length;
                    var re1 = [];
                    for (var i = 0 ; i < re.length; i++) {
                        re1[i] = re[i];
                    }
                    var bh = 0;
                    for (var i = 0 ; i < le; i++) {
                        var ffh = this.fang.qp.getdizqz(re1[i]);
                        if (ffh == undefined) {
                            continue;
                        }
                        else if (ffh.qz.fh == this.fh) {
                            re.splice(i - bh++, 1);
                        }
                        else {
                            this.czwz.push(ffh);
                            re.splice(i - bh++, 1);
                        }
                    }
                    return this.czwz;
                }
                qz.getqzzdi = function () {//F棋子所在的底
                    return this.div.parentNode;
                }
                qz.setclick = function () {//棋子 绑定提起事件
                    this.setclick_1(tiqiqz);
                }
                qz.setclick_1 = function (en) {//棋子 绑定给定事件
                    if (this.huo) this.div.onclick = en;
                }
                qz.clclick = function () {//棋子 撤除提起事件
                    this.div.onclick = null;
                    this.div.style.borderColor = "#00ffff";
                }
                return qz;
            }
            //F获取一方16棋子对象数组
            function getqzarr(fang, h) {
                var qzar = [];
                var nam = [["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
                    ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]];
                var wei = [[81, 82, 83, 84, 85, 86, 87, 88, 89, 64, 70, 54, 56, 58, 60, 62],
                    [0, 1, 2, 3, 4, 5, 6, 7, 8, 19, 25, 27, 29, 31, 33, 35]];
                var mox = [0, 1, 2, 3, 4, 3, 2, 1, 0, 5, 5, 6, 6, 6, 6, 6];
                for (var i = 0 ; i < 16; i++) {
                    var c1 = getqz(fang, nam[h][i], wei[h][i], mox[i]);
                    qzar.push(c1);
                }
                return qzar;
            }
            //B红方黑方对象
            function getfang(qp, h) {
                var fang = new Object();
                //if (qp == undefined) fang.qp = getqp("box");
                fang.qp = qp;//所属的棋盘对象
                fang.name = h == 0 ? "红方" : "黑方";//方名
                fang.fh = h;//方号
                fang.qzar = getqzarr(fang, h);//获取16子
                //方法
                fang.setqzclick = function (en) {//方中所有棋子 绑定提起事件
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].setclick_1(en);
                    }
                }
                fang.clqzclick = function (en) {//方中所有棋子 撤除提起事件
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].clclick();
                    }
                }
                fang.luoziwz = function () {//F方的所有子更新落吃位置
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].luoziwz();
                    }
                }
                fang.benfwz = function () {//F本方的所有子当前位置
                    var re = [];
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        re.push(this.qzar[i].dqwz);
                    }
                    fang.bfwz = re;
                    return re;
                }
                fang.duifwz = function () {//F对方的所有子当前位置
                    var re = [];
                    var duif = this === fang.qp.hong ? fang.qp.hei : fang.qp.hong;
                    for (var i = 0 ; i < duif.qzar.length; i++) {
                        re.push(duif.qzar[i].dqwz);
                    }
                    fang.dfwz = re;
                    return re;
                }
                return fang;
            }
            //B棋盘对象
            function getqp(box) {
                var qp = new Object();
                qp.box = A(box);//最外div
                qp.box.innerHTML = "";
                for (var i = 0 ; i < 90; i++) {
                    var d = document.createElement('div');
                    d.className = "di";
                    d.id = "div" + i;
                    d.qp = qp;
                    //d.setAttribute("valign", "center");
                    qp.box.appendChild(d);
                }
                qp.di = qp.box.childNodes;//90个位置div
                qp.hong = getfang(qp, 0); //红方对象
                qp.hei = getfang(qp, 1);//黑方对象
                qp.ydf = 1;//行动方
                qp.tq_qz = null;//当前提起的棋子
                qp.sp_f = A("sp_f");//提示器
                qp.delz0 = A("delz0");//死子区
                qp.delz1 = A("delz1");//死子区
                //方法
                qp.clqzclick = function () {//F清除所有棋子的点击事件
                    this.hei.clqzclick();
                    this.hong.clqzclick();
                }
                qp.getdizqz = function (i) {//F底中存在的棋子
                    return this.di[i].childNodes[0];
                }
                qp.cldiclick = function () {//F清除所有底的点击事件
                    for (var i = 0 ; i < this.di.length; i++) {
                        this.di[i].onclick = null;
                        this.di[i].style.borderColor = "#ffd800";
                    }
                }
                qp.luoziwz = function () {//F所有子更新落吃位置
                    this.hong.luoziwz();
                    this.hei.luoziwz();
                }
                qp.jiaohuan = function () {//F交换走棋方
                    this.cldiclick();
                    this.clqzclick();
                    this.ydf = this.ydf == 0 ? 1 : 0;
                    if (this.ydf == 0) {
                        this.sp_f.style.color = "red";
                        this.sp_f.innerHTML = "红方";
                        this.hong.setqzclick(tiqiqz);
                    }
                    else {
                        this.sp_f.style.color = "black";
                        this.sp_f.innerHTML = "黑方";
                        this.hei.setqzclick(tiqiqz);
                    }
                    this.luoziwz();
                    if (this.tq_qz) reclsnme(this.tq_qz.div);
                    this.tq_qz = null;
                }
                //初始化
                //qp.hong.luoziwz();//hong方的所有子更新落吃位置
                //qp.hei.luoziwz();//hei方的所有子更新落吃位置
                return qp;
            }
            //E窗体大小改变事件
            function winresize() {
                qp.box.style.top = (viewtblr("bg").top + 50) + "px";
                qp.box.style.left = (viewtblr("bg").left + 53) + "px";
                qp.delz0.style.top = (viewtblr(qp.box).top + 0) + "px";
                qp.delz0.style.left = (viewtblr(qp.box).left - 90) + "px";
                qp.delz1.style.top = (viewtblr(qp.box).top + 0) + "px";
                qp.delz1.style.left = (viewtblr(qp.box).left + qp.box.clientWidth) + "px";
            }
            //E初始化
            function load() {
                qp = getqp("box");
                qp.jiaohuan();
                winresize();
                window.onresize = winresize;
                document.onmouseup = function (e) {
                    if (e.button == 2) {
                        qzdown(e);
                        //e.preventDefault();
                    }
                }
            }
            //测试
            function aaabbb() {
                document.form1.submit();
            }
        </script>
    </head>
    <body id="body1" onload="load();" oncontextmenu="return false;">
        <form id="form1" name="form1">
            <div align="center" style="border: 1px solid #00ff21;">
                <a href="../game2/xqi2.html">ie9象棋</a>&nbsp;
                <a href="../game1/she.html">贪吃蛇</a>&nbsp;
                <a href="../Default.html">返回</a>&nbsp;
                <br />ie10
            </div>
            <div align="center" style="background-color: #c8c193;">
                <div id="bgdiv">
                    <img id="bg" alt="aa" src="bg.jpg" />
                </div>
                <div id="delz0" class="delz" style="float: left;"></div>
                <div id="delz1" class="delz" style="float: right;"></div>
                <div id="box">
                </div>
                <br />
                <span id="sp_f" style="color: red; font-family: 隶书; font-size: 40px;">红方</span>
                <br />
                <input id="Submit1" type="submit" value="刷新" />
                <input id="Button1" type="button" value="测试" onclick="aaabbb()" />
                <br />
            </div>
        </form>
    </body>
    </html>
    <script type="text/javascript">
        //var qp_di = A("box").childNodes;
    </script>

    ie9版本

    View Code
    <!DOCTYPE html>
    <!-- 
        begin   : 20130508
        author  : Spider (利用js复习对象概念)
        20130508: 背景 棋盘 双方 棋子等对象定义 
        20130509: 棋盘 双方 棋子等对象功能实现 
        20130510: 各对象之间功能交换实现游戏规则
        20130511: ie9版本无变动
    -->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>JS_HTML5_CSS3练习象棋游戏ie9</title>
        <style type="text/css">
            *
            {
                margin: 0px;
                padding: 0px;
            }
    
            #bgdiv
            {
                border: 0px solid #00ff21;
            }
    
            #bg
            {
                background-image: url("bg.jpg");
                width: 600px;
                height: 600px;
            }
    
            #box
            {
                width: 495px;
                height: 500px;
                border: 1px solid rgba(0, 255, 33, 0.00);
                top: 10px;
                left: 10px;
                position: absolute;
                z-index: 1;
                /*column-count: 9;*/
            }
    
            .di
            {
                margin: 3px;
                width: 49px;
                height: 44px;
                border: 0px solid #ffd800;
                float: left;
                background-color: rgba(200, 193, 147, 0.00);
                border-radius: 25px;
            }
    
            .qz
            {
                margin: 1px;
                width: 40px;
                height: 40px;
                border: 1px solid #00ffff;
                border-radius: 25px;
                font-size: 35px;
                background-color: #bd8143;
                text-align: center;
                cursor: pointer;
                position: relative;
                transition: transform 1s, width 0.5s, height 0.5s,top 0.5s,left 0.5s,font-size 0.5s;
                /*transition-delay: 0.5s;*/
                box-shadow: 5px 5px 15px #888888;
                font-family: 隶书;
            }
    
            .d3:hover
            {
                top: -3px;
                left: -3px;
            }
    
            .d4
            {
                width: 46px;
                height: 46px;
                font-size: 40px;
                transform: rotate(360deg);
            }
    
            .qz0
            {
                color: red;
            }
    
            .qz1
            {
                color: black;
            }
    
            .delz
            {
                width: 90px;
                height: 500px;
                border: 1px solid rgba(0, 255, 255, 0.00);
                top: 10px;
                left: 10px;
                position: absolute;
                z-index: 1;
                /*column-count: 2;*/
            }
    
            .tiqi
            {
                border: 1px solid #00ff21;
            }
    
            @keyframes action01
            {
            }
        </style>
        <script type="text/javascript">
            //B:工厂  E:事件  F:方法
            //-------------------------
            //快捷获取DOM
            function A(id) {
                if (typeof id == "string") {
                    return document.getElementById(id);
                }
                else if (typeof id == "object") {
                    return id;
                }
            }
            //快捷获取DOM id名
            function sA(id) {
                if (typeof id == "string") {
                    return id;
                }
                else if (typeof id == "object") {
                    return id.id;
                }
            }
            //alert
            function al(s) {
                alert(s);
            }
            //快捷parseInt
            function pi(s) {
                return parseInt(s);
            }
            //快捷parseFloat
            function pf(s) {
                return parseFloat(s);
            }
            //快捷Number
            function nb(s) {
                return Number(s);
            }
            //取element的viewport(可视区域)坐标
            function viewtblr(id) {
                return A(id).getBoundingClientRect();
            }
    
            //
            function ms0(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                //
                for (var i = dq - 9 ; i >= 0; i -= 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq + 9 ; i <= 89; i += 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq - 1 ; i % 9 >= 0; i -= 1) {
                    if (i % 9 == 8) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                //
                for (var i = dq + 1 ; i % 9 <= 8  ; i += 1) {
                    if (i % 9 == 0) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        ts.lzwz.push(i);
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        break;
                    }
                    else {
                        ts.czwz.push(ffh);
                        break;
                    }
                }
                return re;
            }
            //
            function ms1(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                if (dq % 9 != 0 && dq != 0 && dq - 18 >= 0 && ts.fang.qp.getdizqz(dq - 9) == undefined) {
                    re.push(dq - 19);
                }
                if ((dq + 1) % 9 != 0 && dq + 18 <= 89 && ts.fang.qp.getdizqz(dq + 9) == undefined) {
                    re.push(dq + 19);
                }
                if ((dq + 1) % 9 != 0 && dq - 18 >= 0 && ts.fang.qp.getdizqz(dq - 9) == undefined) {
                    re.push(dq - 17);
                }
                if (dq % 9 != 0 && dq != 0 && dq + 18 <= 89 && ts.fang.qp.getdizqz(dq + 9) == undefined) {
                    re.push(dq + 17);
                }
                if (dq - 9 >= 0 && dq % 9 != 0 && (dq - 1) % 9 != 0 && ts.fang.qp.getdizqz(dq - 1) == undefined) {
                    re.push(dq - 11);
                }
                if (dq + 9 <= 89 && (dq + 1) % 9 != 0 && (dq + 2) % 9 != 0 && ts.fang.qp.getdizqz(dq + 1) == undefined) {
                    re.push(dq + 11);
                }
                if (dq - 9 >= 0 && (dq + 1) % 9 != 0 && (dq + 2) % 9 != 0 && ts.fang.qp.getdizqz(dq + 1) == undefined) {
                    re.push(dq - 7);
                }
                if (dq + 9 <= 89 && dq % 9 != 0 && (dq - 1) % 9 != 0 && ts.fang.qp.getdizqz(dq - 1) == undefined) {
                    re.push(dq + 7);
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms2(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 47: 1, 51: 1, 63: 1, 67: 1, 71: 1, 83: 1, 87: 1 };
                }
                else {
                    fw = { 38: 1, 42: 1, 26: 1, 22: 1, 18: 1, 2: 1, 6: 1 };
                }
                if ((dq - 20) in fw && ts.fang.qp.getdizqz(dq - 10) == undefined) {
                    re.push(dq - 20);//左上
                }
                if ((dq + 20) in fw && ts.fang.qp.getdizqz(dq + 10) == undefined) {
                    re.push(dq + 20);//右下
                }
                if ((dq - 16) in fw && ts.fang.qp.getdizqz(dq - 8) == undefined) {
                    re.push(dq - 16);//右上
                }
                if ((dq + 16) in fw && ts.fang.qp.getdizqz(dq + 8) == undefined) {
                    re.push(dq + 16);//左下
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms3(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 66: 1, 68: 1, 76: 1, 84: 1, 86: 1 };
                }
                else {
                    fw = { 3: 1, 5: 1, 13: 1, 21: 1, 23: 1 };
                }
                if ((dq - 10) in fw) {
                    re.push(dq - 10);//左上
                }
                if ((dq + 10) in fw) {
                    re.push(dq + 10);//右下
                }
                if ((dq - 8) in fw) {
                    re.push(dq - 8);//右上
                }
                if ((dq + 8) in fw) {
                    re.push(dq + 8);//左下
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms4(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                var fw = {};
                if (ts.fh == 0) {
                    fw = { 66: 1, 67: 1, 68: 1, 75: 1, 76: 1, 77: 1, 84: 1, 85: 1, 86: 1 };
                }
                else {
                    fw = { 3: 1, 4: 1, 5: 1, 12: 1, 13: 1, 14: 1, 21: 1, 22: 1, 23: 1 };
                }
                if ((dq - 9) in fw) {
                    re.push(dq - 9);//
                }
                if ((dq + 9) in fw) {
                    re.push(dq + 9);//
                }
                if ((dq - 1) in fw) {
                    re.push(dq - 1);//
                }
                if ((dq + 1) in fw) {
                    re.push(dq + 1);//
                }
                ts.chiziwz();
                return re;
            }
            //
            function ms5(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                //
                var cc = 0;
                for (var i = dq - 9 ; i >= 0; i -= 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq + 9 ; i <= 89; i += 9) {
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq - 1 ; i % 9 >= 0; i -= 1) {
                    if (i % 9 == 8) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                //
                cc = 0;
                for (var i = dq + 1 ; i % 9 <= 8  ; i += 1) {
                    if (i % 9 == 0) break;
                    var ffh = ts.fang.qp.getdizqz(i);
                    if (ffh == undefined) {
                        if (cc == 0) {
                            ts.lzwz.push(i);
                        }
                    }
                    else if (ffh.qz.fh == ts.fh) {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            break;
                        }
                    }
                    else {
                        if (cc == 0) {
                            cc = 1;
                            continue;
                        }
                        else {
                            ts.czwz.push(ffh);
                            break;
                        }
                    }
                }
                return re;
            }
            //
            function ms6(ts) {
                var dq = ts.dqwz;
                var re = ts.lzwz;
                if (ts.fh == 0 && dq - 9 >= 0) {
                    re.push(dq - 9);//
                }
                if (ts.fh == 1 && dq + 9 <= 89) {
                    re.push(dq + 9);//
                }
                if (dq % 9 != 0 && dq != 0) {
                    re.push(dq - 1);//
                }
                if ((dq + 1) % 9 != 0) {
                    re.push(dq + 1);//
                }
                ts.chiziwz();
                return re;
            }
            //E右键放下提起的棋子
            function qzdown(e) {
                qp.cldiclick();
                qp.clqzclick();
                qp.ydf == 0 ? qp.hong.setqzclick(tiqiqz) : qp.hei.setqzclick(tiqiqz);
                if (e.button == 0) {
                    e.target.click = tiqiqz;
                    e.target.click();
                }
            }
            //E可以被吃棋子的点击事件
            function beichiqz(e) {
                var ts = e.target;
                if (ts.id == "qz14") {
                    al("红方胜");
                    document.form1.submit();
                }
                else if (ts.id == "qz085") {
                    al("黑方胜");
                    document.form1.submit();
                }
                var d_i = ts.qz.getqzzdi();
                qp.ydf == 0 ? qp.delz0.appendChild(ts) : qp.delz1.appendChild(ts);
                ts.dqwz = -1;
                ts.qz.huo = false;
                d_i.appendChild(qp.tq_qz.div);
                qp.tq_qz.dqwz = pi(d_i.id.replace("div", ""));
                qp.jiaohuan();
            }
            //E空底落下棋子 并换方
            function luoxiaqz(e) {
                var ts = e.target;
                ts.appendChild(qp.tq_qz.div);
                qp.tq_qz.dqwz = pi(ts.id.replace("div", ""));
                qp.jiaohuan();
            }
            //E提起棋子
            function tiqiqz(e) {
                var ts = this;
                //if (ts.qz.fang.qp.ydf != ts.qz.fh) return;
                ts.qz.fang.qp.clqzclick();
                ts.qz.fang.qp.tq_qz = ts.qz;//设置当前提起的棋子
                ts.style.borderColor = "#00ff21";
                //ts.qz.lzwz = ts.qz.luoziwz();
                //ts.qz.czwz = ts.qz.chiziwz();
                //空底绑定落子事件
                for (var i = 0 ; i < ts.qz.lzwz.length; i++) {
                    qp.di[ts.qz.lzwz[i]].onclick = luoxiaqz;
                    qp.di[ts.qz.lzwz[i]].style.borderColor = "red";
                }
                //对方子绑定被吃事件
                for (var i = 0 ; i < ts.qz.czwz.length; i++) {
                    ts.qz.czwz[i].qz.setclick_1(beichiqz);
                    ts.qz.czwz[i].style.borderColor = "black";
                }
                ts.qz.fang.setqzclick(qzdown);
            }
    
            //B棋子基类
            function getqz(fang, name, wei, mox) {
                var qz = new Object();
                qz.fang = fang;//所属的红黑方对象
                qz.name = name;//棋子名
                qz.fh = fang.fh;//方号
                qz.mox = mox;//棋子模型编号
                var d = document.createElement('div');//创建棋子的div
                d.className = "d3 qz qz" + fang.fh;
                d.id = "qz" + qz.fh + wei;
                d.innerHTML = qz.name;
                qz.div = d;//绑定棋子的div
                qz.div.qz = qz;//div中绑定棋子对象
                fang.qp.di[wei].appendChild(qz.div);//添加到方
                qz.huo = true;//棋子生死
                qz.dqwz = wei;//当前位置
                qz.lzwz = [];//可以移动到的位置
                qz.czwz = [];//能吃到对方子的div
                //方法
                qz.kezou = function (mox) {//F根据模式分支选择
                    switch (mox) {
                        case 0:
                            return ms0(this);
                        case 1:
                            return ms1(this);
                        case 2:
                            return ms2(this);
                        case 3:
                            return ms3(this);
                        case 4:
                            return ms4(this);
                        case 5:
                            return ms5(this);
                        case 6:
                            return ms6(this);
                    }
                }
                qz.kechi = function (mox) {//F根据模式选择分支
    
                }
                qz.luoziwz = function () {//F获取落子位置 底的编号数组
                    this.lzwz = [];
                    this.czwz = [];
                    this.kezou(qz.mox);
                    return this.lzwz;
                }
                qz.chiziwz = function () {//F获取能吃对方子位置 对方子的div数组
                    var re = this.lzwz;
                    var le = re.length;
                    var re1 = [];
                    for (var i = 0 ; i < re.length; i++) {
                        re1[i] = re[i];
                    }
                    var bh = 0;
                    for (var i = 0 ; i < le; i++) {
                        var ffh = this.fang.qp.getdizqz(re1[i]);
                        if (ffh == undefined) {
                            continue;
                        }
                        else if (ffh.qz.fh == this.fh) {
                            re.splice(i - bh++, 1);
                        }
                        else {
                            this.czwz.push(ffh);
                            re.splice(i - bh++, 1);
                        }
                    }
                    return this.czwz;
                }
                qz.getqzzdi = function () {//F棋子所在的底
                    return this.div.parentNode;
                }
                qz.setclick = function () {//棋子 绑定提起事件
                    this.setclick_1(tiqiqz);
                }
                qz.setclick_1 = function (en) {//棋子 绑定给定事件
                    if (this.huo) this.div.onclick = en;
                }
                qz.clclick = function () {//棋子 撤除提起事件
                    this.div.onclick = null;
                    this.div.style.borderColor = "#00ffff";
                }
                return qz;
            }
            //F获取一方16棋子对象数组
            function getqzarr(fang, h) {
                var qzar = [];
                var nam = [["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
                    ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]];
                var wei = [[81, 82, 83, 84, 85, 86, 87, 88, 89, 64, 70, 54, 56, 58, 60, 62],
                    [0, 1, 2, 3, 4, 5, 6, 7, 8, 19, 25, 27, 29, 31, 33, 35]];
                var mox = [0, 1, 2, 3, 4, 3, 2, 1, 0, 5, 5, 6, 6, 6, 6, 6];
                for (var i = 0 ; i < 16; i++) {
                    var c1 = getqz(fang, nam[h][i], wei[h][i], mox[i]);
                    qzar.push(c1);
                }
                return qzar;
            }
            //B红方黑方对象
            function getfang(qp, h) {
                var fang = new Object();
                //if (qp == undefined) fang.qp = getqp("box");
                fang.qp = qp;//所属的棋盘对象
                fang.name = h == 0 ? "红方" : "黑方";//方名
                fang.fh = h;//方号
                fang.qzar = getqzarr(fang, h);//获取16子
                //方法
                fang.setqzclick = function (en) {//方中所有棋子 绑定提起事件
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].setclick_1(en);
                    }
                }
                fang.clqzclick = function (en) {//方中所有棋子 撤除提起事件
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].clclick();
                    }
                }
                fang.luoziwz = function () {//F方的所有子更新落吃位置
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        this.qzar[i].luoziwz();
                    }
                }
                fang.benfwz = function () {//F本方的所有子当前位置
                    var re = [];
                    for (var i = 0 ; i < this.qzar.length; i++) {
                        re.push(this.qzar[i].dqwz);
                    }
                    fang.bfwz = re;
                    return re;
                }
                fang.duifwz = function () {//F对方的所有子当前位置
                    var re = [];
                    var duif = this === fang.qp.hong ? fang.qp.hei : fang.qp.hong;
                    for (var i = 0 ; i < duif.qzar.length; i++) {
                        re.push(duif.qzar[i].dqwz);
                    }
                    fang.dfwz = re;
                    return re;
                }
                return fang;
            }
            //B棋盘对象
            function getqp(box) {
                var qp = new Object();
                qp.box = A(box);//最外div
                qp.box.innerHTML = "";
                for (var i = 0 ; i < 90; i++) {
                    var d = document.createElement('div');
                    d.className = "di";
                    d.id = "div" + i;
                    d.qp = qp;
                    //d.setAttribute("valign", "center");
                    qp.box.appendChild(d);
                }
                qp.di = qp.box.childNodes;//90个位置div
                qp.hong = getfang(qp, 0); //红方对象
                qp.hei = getfang(qp, 1);//黑方对象
                qp.ydf = 1;//行动方
                qp.tq_qz = null;//当前提起的棋子
                qp.sp_f = A("sp_f");//提示器
                qp.delz0 = A("delz0");//死子区
                qp.delz1 = A("delz1");//死子区
                //方法
                qp.clqzclick = function () {//F清除所有棋子的点击事件
                    this.hei.clqzclick();
                    this.hong.clqzclick();
                }
                qp.getdizqz = function (i) {//F底中存在的棋子
                    return this.di[i].childNodes[0];
                }
                qp.cldiclick = function () {//F清除所有底的点击事件
                    for (var i = 0 ; i < this.di.length; i++) {
                        this.di[i].onclick = null;
                        this.di[i].style.borderColor = "#ffd800";
                    }
                }
                qp.luoziwz = function () {//F所有子更新落吃位置
                    this.hong.luoziwz();
                    this.hei.luoziwz();
                }
                qp.jiaohuan = function () {//F交换走棋方
                    this.cldiclick();
                    this.clqzclick();
                    this.ydf = this.ydf == 0 ? 1 : 0;
                    if (this.ydf == 0) {
                        this.sp_f.style.color = "red";
                        this.sp_f.innerHTML = "红方";
                        this.hong.setqzclick(tiqiqz);
                    }
                    else {
                        this.sp_f.style.color = "black";
                        this.sp_f.innerHTML = "黑方";
                        this.hei.setqzclick(tiqiqz);
                    }
                    this.luoziwz();
                    this.tq_qz = null;
                }
                //初始化
                //qp.hong.luoziwz();//hong方的所有子更新落吃位置
                //qp.hei.luoziwz();//hei方的所有子更新落吃位置
                return qp;
            }
            //E窗体大小改变事件
            function winresize() {
                qp.box.style.top = (viewtblr("bg").top + 50) + "px";
                qp.box.style.left = (viewtblr("bg").left + 53) + "px";
                qp.delz0.style.top = (viewtblr(qp.box).top + 0) + "px";
                qp.delz0.style.left = (viewtblr(qp.box).left - 90) + "px";
                qp.delz1.style.top = (viewtblr(qp.box).top + 0) + "px";
                qp.delz1.style.left = (viewtblr(qp.box).left + qp.box.clientWidth) + "px";
            }
            //E初始化
            function load() {
                qp = getqp("box");
                qp.jiaohuan();
                winresize();
                window.onresize = winresize;
                document.onmouseup = function (e) {
                    if (e.button == 2) {
                        qzdown(e);
                        //e.preventDefault();
                    }
                }
            }
            //测试
            function aaabbb() {
                document.form1.submit();
            }
        </script>
    </head>
    <body id="body1" onload="load();" oncontextmenu="return false;">
        <form id="form1" name="form1">
            <div align="center" style="border: 1px solid #00ff21;">
                <a href="../game2/xqi.html">ie10象棋</a>&nbsp;
                <a href="../game1/she.html">贪吃蛇</a>&nbsp;
                <a href="../Default.html">返回</a>&nbsp;
                <br />ie9
            </div>
            <div align="center" style="background-color: #c8c193;">
                <div id="bgdiv">
                    <img id="bg" alt="aa" src="bg.jpg" />
                </div>
                <div id="delz0" class="delz" style="float: left;"></div>
                <div id="delz1" class="delz" style="float: right;"></div>
                <div id="box">
                </div>
                <br />
                <span id="sp_f" style="color: red; font-family: 隶书; font-size: 40px;">红方</span>
                <br />
                <input id="Submit1" type="submit" value="刷新" />
                <input id="Button1" type="button" value="测试" onclick="aaabbb()" />
                <br />
            </div>
        </form>
    </body>
    </html>
    <script type="text/javascript">
        //var qp_di = A("box").childNodes;
    </script>

    象棋

  • 相关阅读:
    学习asp.net完整步骤
    UltraEdit中Matlab语法高亮显示的操作方法
    C#基础完成和深入
    75道程序员面试逻辑思维题
    模拟退火算法解决函数优化问题
    模拟退火算法解决TSP问题
    C#入门
    简单感知器模型解决简单真值表问题
    jQuery 1.3.2 :visible选择器问题
    NUnit2.0详细使用方法
  • 原文地址:https://www.cnblogs.com/spider024/p/3072918.html
Copyright © 2011-2022 走看看