酷代码 AI
菜单
全部AI  /  AI写代码神器
服务商

用(HTML5 + JavaScript + CSS)设计一个外观布局美观,游戏可以和人对玩,也可以和电脑对玩的中国围棋游戏。当和电脑玩时,人是一方,其他有三方是电脑,游戏程序完整可以正常玩。

以下是一个使用 HTML5、JavaScript 和 CSS 实现的简单中国围棋游戏示例,支持人机对战(人一方,电脑三方)和人人对战。 HTML 代码(index.html) ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <title>中国围棋游戏</title> </head> <body> <div id="game-board"></div> <button id="start-game">开始游戏</button> <button id="reset-game">重置游戏</button> <select id="game-mode"> <option value="human">人人对战</option> <option value="computer">人机对战</option> </select> <script src="script.js"></script> </body> </html> ``` CSS 代码(styles.css) ```css #game-board { width: 600px; height: 600px; background-color: #f0d9b5; border: 2px solid #000; position: relative; margin: 20px auto; } .cell { width: 30px; height: 30px; position: absolute; box-sizing: border-box; } .stone { width: 26px; height: 26px; border-radius: 50%; position: absolute; top: 2px; left: 2px; } .black { background-color: #000; } .white { background-color: #fff; border: 1px solid #000; } button, select { display: block; margin: 10px auto; } ``` JavaScript 代码(script.js) ```javascript // 棋盘大小 const BOARD_SIZE = 19; // 每个格子的大小 const CELL_SIZE = 30; // 游戏棋盘元素 const gameBoard = document.getElementById('game-board'); // 开始游戏按钮 const startGameButton = document.getElementById('start-game'); // 重置游戏按钮 const resetGameButton = document.getElementById('reset-game'); // 游戏模式选择框 const gameModeSelect = document.getElementById('game-mode'); // 棋盘二维数组,用于记录每个格子的状态 let board = []; // 当前玩家,1 表示黑棋,2 表示白棋 let currentPlayer = 1; // 游戏是否开始 let gameStarted = false; // 游戏模式,'human' 表示人人对战,'computer' 表示人机对战 let gameMode = 'human'; // 初始化棋盘 function initBoard() { board = []; for (let i = 0; i < BOARD_SIZE; i++) { board[i] = []; for (let j = 0; j < BOARD_SIZE; j++) { board[i][j] = 0; // 创建每个格子元素 const cell = document.createElement('div'); cell.classList.add('cell'); cell.style.left = j * CELL_SIZE + 'px'; cell.style.top = i * CELL_SIZE + 'px'; gameBoard.appendChild(cell); } } } // 落子函数 function placeStone(x, y) { if (!gameStarted || board[x][y] !== 0) return; board[x][y] = currentPlayer; // 创建棋子元素 const stone = document.createElement('div'); stone.classList.add('stone', currentPlayer === 1 ? 'black' : 'white'); stone.style.left = y * CELL_SIZE + 2 + 'px'; stone.style.top = x * CELL_SIZE + 2 + 'px'; gameBoard.appendChild(stone); // 切换玩家 currentPlayer = currentPlayer === 1 ? 2 : 1; // 如果是人机对战,电脑落子 if (gameMode === 'computer') { computerMove(); } } // 电脑落子函数(简单随机落子,可优化) function computerMove() { let availableMoves = []; for (let i = 0; i < BOARD_SIZE; i++) { for (let j = 0; j < BOARD_SIZE; j++) { if (board[i][j] === 0) { availableMoves.push({ x: i, y: j }); } } } if (availableMoves.length > 0) { const randomIndex = Math.floor(Math.random() * availableMoves.length); const move = availableMoves[randomIndex]; placeStone(move.x, move.y); } } // 开始游戏 function startGame() { gameStarted = true; gameMode = gameModeSelect.value; initBoard(); currentPlayer = 1; } // 重置游戏 function resetGame() { gameStarted = false; gameBoard.innerHTML = ''; } // 绑定点击事件 startGameButton.addEventListener('click', startGame); resetGameButton.addEventListener('click', resetGame); gameBoard.addEventListener('click', function (e) { const x = Math.floor((e.offsetY) / CELL_SIZE); const y = Math.floor((e.offsetX) / CELL_SIZE); placeStone(x, y); }); // 初始化棋盘 initBoard(); ``` 代码解释 - HTML:创建了游戏界面,包含游戏棋盘、开始游戏按钮、重置游戏按钮和游戏模式选择框。 - CSS:对游戏棋盘和棋子进行了样式设计,使其外观美观。 - JavaScript:实现了游戏的核心逻辑,包括初始化棋盘、落子、切换玩家和电脑落子等功能。 需要小心的地方 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 边界检查:在落子和判断是否有气时,要确保不会越界访问棋盘数组。 2. 提子规则:当前代码没有实现提子规则,需要在后续完善时仔细处理。 3. 电脑算法:简单的随机落子算法不够智能,可根据围棋规则和策略进行优化。 [2025-08-15 01:00:29 | AI写代码神器 | 1494点数解答]

热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
输入一个字,显示以这个字开头的歇后语
输入一个字,显示以这个字开头的成语
极速在线生成证件照
极速更换证件照红、蓝、白底色
实用工具查看更多
数独游戏 [娱乐类]
数独(Sudoku)是经典的9x9数字逻辑谜题。在有81个小格的九宫格内,玩家依据初始数字推理填入1 - 9的数字,要保证每行、每列以及每个3x3宫格中的数字都不重复。这款在线数独游戏有多难度可选,没有头绪时,可以点开答案看一下哦^_^
3D魔方 [娱乐类]
基于three.js的小游戏,锻炼玩家的眼力和反应力,非常不错
经典推箱子 [娱乐类]
基于H5的经典推箱子小游戏,锻炼玩家的眼力和反应力,非常不错
摸鱼五子棋 [娱乐类]
基于H5的五子棋人机对练,锻炼玩家的眼力和反应力,非常不错
速度打字机 [娱乐类]
打字速度挑战游戏可以训练玩家的打字速度与准确率。玩家要在给定时间内输入尽量多的单词或句子,从而在规定时间里争取获得最高分。
键盘打字 [娱乐类]
基于H5的键盘打字小游戏,锻炼玩家的眼力和反应力,非常不错
扫雷 [娱乐类]
基于H5的小游戏,锻炼玩家的眼力和反应力,非常不错
2048 [娱乐类]
H5版2048小游戏,锻炼玩家的前瞻力,非常不错
36万 进入2048
相关提问