用前端写一个象棋小游戏
时间: 2023-07-01 14:26:30 浏览: 126
中国象棋翻翻棋,休闲,对战,娱乐,小游戏,jQuery小游戏,下载即用,代码注释全
好的,以下是一个简单的前端象棋小游戏的示例代码,使用 HTML、CSS 和 JavaScript 实现:
```html
<!DOCTYPE html>
<html>
<head>
<title>象棋小游戏</title>
<style>
.square {
width: 50px;
height: 50px;
display: inline-block;
border: 1px solid black;
text-align: center;
font-size: 30px;
font-weight: bold;
cursor: pointer;
}
.red {
background-color: #FFE4E1;
color: red;
}
.black {
background-color: #8B4513;
color: white;
}
</style>
</head>
<body onload="initBoard()">
<div id="board">
</div>
<script>
// 定义棋盘大小和棋子布局
const ROWS = 10;
const COLS = 9;
const START_POSITION = [
['車', '馬', '象', '士', '帥', '士', '象', '馬', '車'],
['', '', '', '', '', '', '', '', ''],
['', '炮', '', '', '', '', '', '炮', ''],
['兵', '', '兵', '', '兵', '', '兵', '', '兵'],
['', '', '', '', '', '', '', '', ''],
['', '', '', '', '', '', '', '', ''],
['兵', '', '兵', '', '兵', '', '兵', '', '兵'],
['', '炮', '', '', '', '', '', '炮', ''],
['', '', '', '', '', '', '', '', ''],
['車', '馬', '象', '士', '將', '士', '象', '馬', '車'],
];
// 初始化棋盘
function initBoard() {
const board = document.getElementById('board');
for (let i = 0; i < ROWS; i++) {
for (let j = 0; j < COLS; j++) {
const square = document.createElement('div');
square.classList.add('square');
// 根据位置设置背景颜色
if ((i + j) % 2 == 0) {
square.style.backgroundColor = '#FFEBCD';
} else {
square.style.backgroundColor = '#8B4513';
}
// 设置棋子文字和颜色
if (START_POSITION[i][j] !== '') {
square.innerText = START_POSITION[i][j];
if (i < 5) {
square.classList.add('black');
} else {
square.classList.add('red');
}
}
// 绑定点击事件
square.onclick = function() {
if (square.classList.contains('selected')) {
// 取消选中状态
square.classList.remove('selected');
// TODO: 取消选中棋子的所有合法移动位置
} else if (square.innerText !== '') {
// 选中棋子
square.classList.add('selected');
// TODO: 显示选中棋子的所有合法移动位置
}
}
board.appendChild(square);
}
}
}
</script>
</body>
</html>
```
这个代码会生成一个简单的棋盘,包含所有的象棋棋子,并且可以点击棋子来选中或者取消选中。你可以根据自己的喜好来添加移动棋子、判断胜负等功能。
阅读全文