没有合适的资源?快使用搜索试试~ 我知道了~
使用html+css+JavaScript实现中国象棋的对弈,并给出代码
需积分: 0 5 下载量 88 浏览量
2023-06-03
10:39:27
上传
评论
收藏 28KB DOCX 举报
温馨提示
试读
14页
实现中国象棋对弈可以通过使用HTML+CSS+JavaScript实现,为了实现完整的功能,需要补充一些实现中国象棋规则的JavaScript代码,比如各种棋子的走法规则等等。仅实现了象棋的基本功能,实际的象棋游戏还需要完善落子规则、吃子规则以及输赢判断等等,实际的象棋游戏需要进一步完善
资源推荐
资源详情
资源评论
实现中国象棋对弈可以通过使用 HTML+CSS+JavaScript 实现。
以下是一个简单的实现方式:
HTML 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>中国象棋</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="main.js"></script>
</head>
<body onload="load()">
<div id="board">
<table id="chess-table">
<thead>
<tr>
<th colspan="9"></th>
<th><img id="player"
src="img/red.png"/></th>
</tr>
</thead>
<tbody>
<tr>
<th>9</th>
<td data-x="0" data-
y="9"> </td>
<td data-x="1" data-
y="9"> </td>
<td data-x="2" data-
y="9"> </td>
<td data-x="3" data-
y="9"> </td>
<td data-x="4" data-
y="9"> </td>
<td data-x="5" data-
y="9"> </td>
<td data-x="6" data-
y="9"> </td>
<td data-x="7" data-
y="9"> </td>
<td data-x="8" data-
y="9"> </td>
<th> </th>
</tr>
...
<!-- 省略下面 8 行棋子的代码 -->
</tbody>
<tfoot>
<tr>
<th colspan="9"></th>
<th><img id="computer"
src="img/black.png"/></th>
</tr>
</tfoot>
</table>
</div>
<div id="tip">
<p>请红方开始下棋...</p>
</div>
</body>
</html>
CSS 代码:
#board {
width: 450px;
margin: 20px auto;
border: 1px solid #ccc;
font-size: 24px;
}
#chess-table {
width: 100%;
border-collapse: collapse;
border: none;
}
#chess-table th, #chess-table td {
height: 45px;
width: 45px;
border: 1px solid #ccc;
text-align: center;
}
#chess-table th {
text-align: center;
height: 30px;
}
#player, #computer {
width: 50px;
height: 50px;
}
#tip {
width: 450px;
margin: 10px auto;
text-align: center;
}
JavaScript 代码:
var CUR_PLAYER = "red";
var SELECTED = null;
function load() {
var table = document.getElementById("chess-table");
table.addEventListener("click", onClick, false);
}
function onClick(event) {
var em = event.target;
if (em.tagName.toLowerCase() == "td") {
var x = Number(em.getAttribute("data-x"));
var y = Number(em.getAttribute("data-y"));
if (em.innerHTML != " ") {
if (em.classList.contains(CUR_PLAYER)) {
if (SELECTED == em) {
em.classList.remove("chess-cell-selected");
SELECTED = null;
} else {
clearSelected();
em.classList.add("chess-cell-selected");
SELECTED = em;
}
}
} else {
if (SELECTED) {
var prev_x = Number(SELECTED.getAttribute("data-x"));
var prev_y = Number(SELECTED.getAttribute("data-y"));
var chess = getChess(prev_x, prev_y);
if (chess.canMove(x, y)) {
chess.moveTo(x, y);
clearSelected();
changePlayer();
showTip();
剩余13页未读,继续阅读
资源评论
董哥物联网
- 粉丝: 21
- 资源: 135
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功