用html和js写一个象棋小游戏
时间: 2023-12-24 20:03:38 浏览: 23
HTML5+js编写的中国象棋小游戏非常逼真.zip
好的,下面是一个简单的象棋小游戏的HTML和JS代码:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>象棋小游戏</title>
<meta charset="UTF-8">
<style type="text/css">
.board {
border: 1px solid #000;
width: 400px;
height: 400px;
margin: 0 auto;
position: relative;
background-color: #FFEFD5;
}
.piece {
position: absolute;
width: 40px;
height: 40px;
background-color: #EEE8AA;
border-radius: 50%;
text-align: center;
line-height: 40px;
font-size: 30px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="board">
<div class="piece" id="r1c1" onclick="movePiece(this)">車</div>
<div class="piece" id="h1c1" onclick="movePiece(this)">馬</div>
<div class="piece" id="b1c1" onclick="movePiece(this)">象</div>
<div class="piece" id="s1c1" onclick="movePiece(this)">士</div>
<div class="piece" id="j1c1" onclick="movePiece(this)">将</div>
<div class="piece" id="s1c2" onclick="movePiece(this)">士</div>
<div class="piece" id="b1c3" onclick="movePiece(this)">象</div>
<div class="piece" id="h1c3" onclick="movePiece(this)">馬</div>
<div class="piece" id="r1c3" onclick="movePiece(this)">車</div>
<div class="piece" id="p1c2" onclick="movePiece(this)">兵</div>
<div class="piece" id="p1c4" onclick="movePiece(this)">兵</div>
<div class="piece" id="p1c6" onclick="movePiece(this)">兵</div>
<div class="piece" id="p2c1" onclick="movePiece(this)">卒</div>
<div class="piece" id="p2c3" onclick="movePiece(this)">卒</div>
<div class="piece" id="p2c5" onclick="movePiece(this)">卒</div>
</div>
<script type="text/javascript" src="chess.js"></script>
</body>
</html>
```
JS代码:
```javascript
var selectedPiece = null;
function movePiece(piece) {
if (selectedPiece == null) {
selectedPiece = piece;
piece.style.backgroundColor = '#FFA500';
} else {
if (canMove(selectedPiece, piece)) {
piece.innerHTML = selectedPiece.innerHTML;
selectedPiece.innerHTML = '';
selectedPiece.style.backgroundColor = '#EEE8AA';
selectedPiece = null;
} else {
alert('不能移动到该位置');
}
}
}
function canMove(from, to) {
// 判断是否为同一位置
if (from == to) {
return false;
}
// 判断是否为同一方棋子
if (from.innerHTML.charCodeAt(0) > 10000 && to.innerHTML.charCodeAt(0) > 10000) {
return false;
}
return true;
}
```
这个象棋小游戏使用了HTML和JS来实现,其中HTML代码定义了一个棋盘和棋子,JS代码定义了移动棋子的函数和判断是否可以移动的函数。玩家可以点击棋子来选中它,然后再点击另一个位置来移动它。移动时会调用canMove函数来判断是否可以移动到该位置。如果可以移动,则交换两个位置的棋子。
阅读全文