网站首页 > 开源技术 正文
也许是我关键词没有写对,不过豆包后面也说了,以下是一个简单的 HTML 在线象棋示例源码,此示例借助 HTML、CSS 和 JavaScript 实现基本的棋盘显示和棋子移动模拟,不过它未涵盖完整的象棋规则逻辑,仅作基础演示。
对我来说,达不到我需求,至少我需要有棋盘效果
先上图:
我down下源码运行:
效果:
相关源码:
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>在线象棋</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="chessboard"></div>
<script src="script.js"></script>
</body>
</html>
css:
#chessboard {
display: grid;
grid-template-columns: repeat(9, 50px);
grid-template-rows: repeat(10, 50px);
gap: 1px;
background-color: #ccc;
width: fit-content;
}
.square {
width: 50px;
height: 50px;
background-color: white;
display: flex;
justify-content: center;
align-items: center;
font-size: 24px;
}
.square.black {
background-color: #eee;
}
js:
// 初始化棋盘
const chessboard = document.getElementById('chessboard');
const pieces = [
'車', '馬', '象', '仕', '帥', '仕', '象', '馬', '車',
'', '', '', '', '', '', '', '', '',
'', '砲', '', '', '', '', '', '砲', '',
'兵', '', '兵', '', '兵', '', '兵', '', '兵',
'', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '',
'卒', '', '卒', '', '卒', '', '卒', '', '卒',
'', '炮', '', '', '', '', '', '炮', '',
'', '', '', '', '', '', '', '', '',
'車', '马', '相', '士', '将', '士', '相', '马', '車'
];
for (let i = 0; i < 90; i++) {
const square = document.createElement('div');
square.classList.add('square');
if ((Math.floor(i / 9) + i % 9) % 2 === 1) {
square.classList.add('black');
}
square.textContent = pieces[i];
chessboard.appendChild(square);
}
// 简单的棋子移动模拟
let selectedPiece = null;
chessboard.addEventListener('click', function (event) {
const target = event.target;
if (target.classList.contains('square')) {
if (selectedPiece === null) {
if (target.textContent!== '') {
selectedPiece = target;
target.style.backgroundColor = 'yellow';
}
} else {
if (target!== selectedPiece) {
target.textContent = selectedPiece.textContent;
selectedPiece.textContent = '';
selectedPiece.style.backgroundColor = (selectedPiece.classList.contains('black'))? '#eee' : 'white';
selectedPiece = null;
}
}
}
});
- 上一篇: 装修装饰设计网源码(装修设计在线设计)
- 下一篇: PageAdmin企业网站制作中踩过的坑
猜你喜欢
- 2025-07-10 公司网站建站选择:人工建站和源码建站分析
- 2025-07-10 多用途游戏娱乐新闻网站HTML5模板
- 2025-07-10 站长教你搭建属于自己的网站(搭建网站的步骤)
- 2025-07-10 php宝塔搭建部署实战响应式塑料封条制品企业网站模板源码
- 2025-07-10 自适应响应式汽车配件类网站源码 html5高端大气汽车网站织梦模板
- 2025-07-10 网站标签怎么设置?(网站标签怎么设置比较好)
- 2025-07-10 PageAdmin企业网站制作中踩过的坑
- 2025-07-10 装修装饰设计网源码(装修设计在线设计)
- 2025-07-10 创同盟:如何建立公司网站?(如何建立自己公司网站)
- 2025-07-10 扁平风轮播图大屏展示html页面源码
你 发表评论:
欢迎- 07-10公司网站建站选择:人工建站和源码建站分析
- 07-10多用途游戏娱乐新闻网站HTML5模板
- 07-10站长教你搭建属于自己的网站(搭建网站的步骤)
- 07-10php宝塔搭建部署实战响应式塑料封条制品企业网站模板源码
- 07-10自适应响应式汽车配件类网站源码 html5高端大气汽车网站织梦模板
- 07-10网站标签怎么设置?(网站标签怎么设置比较好)
- 07-10PageAdmin企业网站制作中踩过的坑
- 07-10豆包给我输出的html在线象棋源码(有点简单)
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)