一个翻翻的小游戏。HTML式。

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
    <style>
    	#grid{
    		width:316px;
    		height: 316px;
    		 background-color: #00BFFF;    		
    	}
        .cell {
            width: 60px;
            height: 60px;
            border: 1px solid black;
            float: left;           
        }
        .red {
            background-color: red;
        }
        .black {
            background-color: black;
        }
    </style>
</head>
<body>
    <div id="grid"></div>
    <script>
        var grid = [];
        var size = 5;
        var gridElement = document.getElementById('grid');

        for (var i = 0; i < size; i++) {
            var row = [];
            for (var j = 0; j < size; j++) {
                var cell = document.createElement('div');
                cell.className = 'cell red';
                cell.onclick = (function(i, j) {
                    return function() {
                        toggleColor(i, j);
                    }
                })(i, j);
                gridElement.appendChild(cell);
                row.push(cell);
            }
            grid.push(row);
        }

        grid[2][2].className = 'cell black';

        function toggleColor(i, j) {
            var directions = [[-1, 0], [1, 0], [0, -1], [0, 1]];
            for (var k = 0; k < directions.length; k++) {
                var ni = i + directions[k][0];
                var nj = j + directions[k][1];
                if (ni >= 0 && ni < size && nj >= 0 && nj < size) {
                    var cell = grid[ni][nj];
                    cell.className = cell.className === 'cell red' ? 'cell black' : 'cell red';
                }
            }
        }
    </script>
</body>
</html>
相关推荐
风骏时光牛马4 小时前
后端服务接口开发与数据逻辑处理
前端
东鹏特饮4 小时前
经典打砖块(Breakout)游戏
前端·css·css3
IT_陈寒4 小时前
Vite的HMR把我整不会了:一个生产环境的热更新坑
前端·人工智能·后端
Mh5 小时前
如何使用双缓冲优化视频切换
前端
risenav5 小时前
低头蓄力,抬头起跳:《萤虫跳跳》的 Rokid AIUI 开发实战
前端
ZhengEnCi5 小时前
如何看待 Fable 5.2 用纯代码生成 1.4MB 视觉作品:光追、水面、倒影、火光的程序化生成原理
前端
再吃一根胡萝卜6 小时前
DSH 插件的 Host 与 Client:为什么「只加载了 Host」,以及要不要自己写 Client 加载器
前端
parade岁月6 小时前
AI 写的前端代码为什么总像 5 年前的?Chrome 官方出手了
前端
新*6 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
tryCbest7 小时前
Vue系列——第 15 篇:内置组件全家桶——Transition、Teleport、Suspense、KeepAlive
前端·vue.js