简单五子棋

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            body {
                background-color: darksalmon;
            }

            .wuziqi {
                position: relative;
            }

            .heizi {
                width: 50px;
                height: 50px;
                background-color: black;
                border-radius: 50%;
                position: absolute;
                left: 200px;
                top: 200px;
            }

            .baizi {
                width: 50px;
                height: 50px;
                background-color: white;
                border-radius: 50%;
                position: absolute;
                left: 200px;
                top: 300px;
            }

            .zhanshi {
                width: 450px;
                height: 450px;
                border: 2px solid blueviolet;
                position: absolute;
                left: 500px;
                top: 100px;
            }

            .zhanshigezi {
                width: 50px;
                height: 50px;
                border: 1px solid blue;
                box-sizing: border-box;
                float: left;
            }

            .max {
                width: 500px;
                height: 500px;
                border: 2px solid black;
                position: absolute;
                left: 475px;
                top: 75px;
            }

            .maxgezi {
                width: 50px;
                height: 50px;
                box-sizing: border-box;
                float: left;
            }

            .xiaohei {
                width: 50px;
                height: 50px;
                background-color: black;
                border-radius: 50%;
            }

            .xiaobai {
                width: 50px;
                height: 50px;
                background-color: white;
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
        <div class="wuziqi">
            <div class="heizi qizi" draggable="true"></div>
            <div class="baizi qizi" draggable="true"></div>
            <div class="zhanshi"></div>
            <div class="max"></div>
        </div>
    </body>
    <script type="text/javascript">
        let heizi = document.querySelector(".heizi");
        let max = document.querySelector(".max");
        let zhanshi = document.querySelector(".zhanshi");
        let xx;

        for (let a = 0; a < 100; a++) {
            max.innerHTML += "<div class='maxgezi'></div>"; //循环一百个maxgezi,也就是最外层的格子
        }
        for (let b = 0; b < 81; b++) {
            zhanshi.innerHTML += "<div class='zhanshigezi'></div>" //循环81个里面的格子
        }

        let qizi = document.querySelectorAll(".qizi");
        qizi.forEach(item => {
            item.ondragstart = function() {
                // console.log("拖拽开始")
                xx = item.className; //拿到当前拖拽棋子的名字
            }
        })
        let maxgezi = document.querySelectorAll(".maxgezi");
        maxgezi.forEach(item => {
            item.ondragstart = function() {
                if (item.innerHTML == "") {
                    item.style.border = "1px solid blue";
                }
            }
            item.ondragover = function() {
                return false; //不返回false的时候不会执行ondrop事件
            }
            item.ondragleave = function() {
                item.style.border = "";
            }
            item.ondrop = function() {
                item.style.border = "";
                if (item.innerHTML == "") {
                    if (xx == "heizi qizi") {
                        item.innerHTML = "<div class='xiaohei'></div>"
                    } else {
                        item.innerHTML = "<div class='xiaobai'></div>"
                    }
                }

                heng();
                shu();
                zuo();
                you();
            }
        })

        function heng() {
            maxgezi.forEach((each, index) => {
                if (each.innerHTML == "") {
                    return;
                }
                let num = 0;
                if (index % 10 > 5) {
                    return;
                }
                let yy = maxgezi[index].innerHTML;

                panduan(yy, maxgezi[index + 1].innerHTML);
                panduan(yy, maxgezi[index + 2].innerHTML);
                panduan(yy, maxgezi[index + 3].innerHTML);
                panduan(yy, maxgezi[index + 4].innerHTML);

                function panduan(aa, bb) {
                    if (bb == "") {
                        return;
                    }
                    if (bb == aa) {
                        num++;
                    }
                    if (num == 4) {
                        if (yy == '<div class="xiaohei"></div>') {
                            console.log("小黑赢");
                        } else {
                            console.log("小白赢");
                        }
                    }
                }
            })
        }

        function shu() {
            maxgezi.forEach((each, index) => {
                if (each.innerHTML == "") {
                    return;
                }
                let num = 0;
                if (index > 59) {
                    return;
                }
                let yy = maxgezi[index].innerHTML;

                panduan(yy, maxgezi[index + 10].innerHTML);
                panduan(yy, maxgezi[index + 20].innerHTML);
                panduan(yy, maxgezi[index + 30].innerHTML);
                panduan(yy, maxgezi[index + 40].innerHTML);

                function panduan(aa, bb) {
                    if (bb == "") {
                        return;
                    }
                    if (bb == aa) {
                        num++;
                    }
                    if (num == 4) {
                        if (yy == '<div class="xiaohei"></div>') {
                            console.log("小黑赢");
                        } else {
                            console.log("小白赢");
                        }
                    }
                }
            })
        }

        function zuo() {
            maxgezi.forEach((each, index) => {
                if (each.innerHTML == "") {
                    return;
                }
                let num = 0;
                if ((index + 9) % 10 < 3 || (index + 9) % 10 == 9 || index > 59) {
                    return;
                }
                let yy = maxgezi[index].innerHTML;

                panduan(yy, maxgezi[index + 9].innerHTML);
                panduan(yy, maxgezi[index + 18].innerHTML);
                panduan(yy, maxgezi[index + 27].innerHTML);
                panduan(yy, maxgezi[index + 36].innerHTML);

                function panduan(aa, bb) {
                    if (bb == "") {
                        return;
                    }
                    if (bb == aa) {
                        num++;
                    }
                    if (num == 4) {
                        if (yy == '<div class="xiaohei"></div>') {
                            console.log("小黑赢");
                        } else {
                            console.log("小白赢");
                        }
                    }
                }
            })
        }
        
        function you() {
            maxgezi.forEach((each, index) => {
                if (each.innerHTML == "") {
                    return;
                }
                let num = 0;
                if ((index+11)%10>6||(index+11)%10==0||index>59) {
                    return;
                }
                let yy = maxgezi[index].innerHTML;
        
                panduan(yy, maxgezi[index + 11].innerHTML);
                panduan(yy, maxgezi[index + 22].innerHTML);
                panduan(yy, maxgezi[index + 33].innerHTML);
                panduan(yy, maxgezi[index + 44].innerHTML);
        
                function panduan(aa, bb) {
                    if (bb == "") {
                        return;
                    }
                    if (bb == aa) {
                        num++;
                    }
                    if (num == 4) {
                        if (yy == '<div class="xiaohei"></div>') {
                            console.log("小黑赢");
                        } else {
                            console.log("小白赢");
                        }
                    }
                }
            })
        }
    </script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值