js象棋

<html><body><canvas id="myCanvas" width="300" height="300"  style="border:1px solid #c3c3c3;"></canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");

qipan=[]
for(a=0;a<9*10;a++){
x=a%9
y=(a-(a%9))/9
qipan.push([x,y])
}

function drawboard(){
ctx.strokeStyle="black"
var x=8,y=9
for(a=0;a<=x;a++){
ctx.moveTo(a*30+30,0+15);
ctx.lineTo(a*30+30,270+15);
ctx.stroke();
}
for(a=0;a<=y;a++){
ctx.moveTo(0+30,a*30+15);
ctx.lineTo(240+30,a*30+15);
ctx.stroke();
}
ctx.rect(0+30,4*30+15,240,30)
ctx.fillStyle="gray"
ctx.fill()
}drawboard()

qizi=[
["兵","red","1",[0,3]],["兵","red","1",[2,3]],["兵","red","1",[4,3]],["兵","red","1",[6,3]],["兵","red","1",[8,3]],["车","red","1",[0,0]],["马","red","1",[1,0]],["相","red","1",[2,0]],["士","red","1",[3,0]],["帅","red","1",[4,0]],
["士","red","1",[5,0]],["相","red","1",[6,0]],
["马","red","1",[7,0]],["车","red","1",[8,0]],["炮","red","1",[1,2]],["炮","red","1",[7,2]],
]

function drawqz(){
for(a=0;a<qizi.length;a++){
qzp=qizi[a][3]
ctx.beginPath();
ctx.arc(qzp[0]*30+30,qzp[1]*30+15,15,0,2*Math.PI);
ctx.stroke();
ctx.fillText(qizi[a][0],qzp[0]*30+30,qzp[1]*30+15)
}
}drawqz()

qzseled="no"
c.onclick=function(e){
ctx.beginPath();
ctx.arc(e.layerX,e.layerY,3,0,2*Math.PI);
ctx.strokeStyle="green"
ctx.stroke();

if(qzseled=="no"){
for(a=0;a<qizi.length;a++){
qzp=qizi[a][3]
qzx=qzp[0]*30+15
qzy=qzp[1]*30
if(e.layerX>=qzx && e.layerX<=qzx+30){
if(e.layerY>=qzy && e.layerY<=qzy+30){
qzseled=a
}}}
}else{
for(a=0;a<qipan.length;a++){
qzp=qipan[a]
qzx=qzp[0]*30+15
qzy=qzp[1]*30
if(e.layerX>=qzx && e.layerX<=qzx+30){
if(e.layerY>=qzy && e.layerY<=qzy+30){
qizi[qzseled][3]=qipan[a]
qzseled="no"
}}}
ctx.clearRect(0,0,300,300)
drawboard()
drawqz()
}}
</script>
</body></html>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值