基于HTML5的五子棋游戏


  第一天实训,老师就教我们做基于HTML5的五子棋游戏。虽然说以前没有接触过h5,但通过老师的讲解,还是能对它有一个简单的了解。
以下就是今天所学习的代码哦!写代码最容易弄错的一点是,中英文标点符号一不小心就弄错了,而且找也不容易找到,所以最应该注意的就是标点符号的使用。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>五子棋游戏</title>
</head>
<body>
<canvas id="myCanvas" width="570" height="570" 
style="border: 2px solid #abcabc"></canvas>

<!--
    作者:offline
    时间:2017-07-03
    描述:使用js代码控制游戏逻辑
    -->
<script type="text/javascript">
//获取canvas的标签
var ChessCanvas = document.getElementById("myCanvas");
//获取画布
var gameCanvas = ChessCanvas.getContext("2d");
//定义棋盘大小
var map = 25;
//棋子大小
var chessSize = 12;
//获取下棋的坐标
var x = y = 0;
//棋子的颜色
var isRed = true;//==true的该下红棋  否则下黑棋
var color = "#000000";

//棋子数组   二维数组
//保存所下的棋子  0:未下;1:下红棋;2:下黑棋
var chessData = new Array(23);
for(var i=0;i<23;i++)
{
   chessData[i] =new Array(23);
for(var j=0;j<23;j++)
{
chessData[i][j] = 0;
}
}
//所下棋子在棋子数组  的位置
var i,j;



//绘制棋盘
for(var i=0;i<23;i++)
{
gameCanvas.moveTo(10,10+i*map);
gameCanvas.lineTo(560,10+i*map);
gameCanvas.moveTo(10+i*map,10);
gameCanvas.lineTo(10+i*map,560);
   gameCanvas.stroke();//画
}
//创建函数,完成下棋
function addChess(x,y)
{
//下棋  画小圆圈     角度转弧度 π/180×角度        弧度变角度 180/π×弧度
gameCanvas.beginPath();//开始
gameCanvas.arc(x,y,chessSize,0,Math.PI*2,true);//画棋子
gameCanvas.fillStyle = color;
gameCanvas.fill();
gameCanvas.closePath();//结束
if(color=="#000000")
{
color = "#ff0000";
//黑棋
chessData[i][j] = 2;


}else{
color = "#000000";
//红棋
chessData[i][j] = 1;

}

}
document.onmousedown= function(e)
{
   window.onclick = function (){
  
  //获取下棋的坐标
   i = Math.round((e.x-10)/25);
   j = Math.round((e.y-10)/25);//边界不能下
//判断该位置x,y是否可以下棋
x = i*25+10;
y = j*25+10;

//判断该位置ij是否有棋子
if(chessData[i][j]==0)
{
//下棋
addChess(x,y);


}else{
alert("不好意思!你来晚了,已经被对方捷足先登了");
}


  }
}


</script>

</body>
</html>

我的第一个hbuilder项目

相关文章: