介绍JS实现五子棋界面设计

介绍JS实现五子棋界面设计

免费学习推荐:js视频教程

需求分析以及代码实现

第一节 画布样式布局

1. canvas进行画布的设计

新建CSS文件夹,新建style.css文件;

在style.css文件里进行canvas编写;

canvas{ display: block; margin: 50px auto; box-shadow: -2px -2px 2px #EFEFEF,5px 5px 5px #B9B9B9; }

参数解释

margin 50px auto// 是指画布居中;

box-shadow: -2px -2px 2px #EFEFEF,5px 5px 5px #B9B9B9//
offset-x:(如这里的-2px)必需,取值正负都可。offset-x水平阴影的位置。
offset-y:(如这里的-2px)必需,取值正负都可。offset-y垂直阴影的位置。
blur:(如这里的2px)可选,只能取正值。blur-radius阴影模糊半径,0即无模糊效果,值越大阴影边缘越模糊。
color:可选,阴影的颜色。如果不设置,浏览器会取默认颜色,通常是黑色,但各浏览器默认颜色有差异,建议不要省略。
**

2. 效果图

在这里插入图片描述

第二节 棋盘设计

1. 大小设计

分成14*14大小的矩形框,总长450px,宽450px,其中两边留白共占15px,每个小的矩形框30px乘30px

2. js代码编写(绘制)

var chess = document.getElementById('chess');var context = chess.getContext('2d');//画一个二维画布context.strokeStyle = "#BFBFBF";var drawChessBoard = function (){    for (var i=0; i<15; i++){        context.moveTo(15+i*30,15);        context.lineTo(15+i*30,435);        context.stroke();//画竖线        context.moveTo(15,15+i*30);        context.lineTo(435,15+i*30);        context.stroke();//画横线    }}drawChessBoard();//调用画棋盘的函数

登录后复制

3. 效果图

在这里插入图片描述

第三节 棋子设计

1. 代码编写

//初始化位置数组var chessBoard = [];for(var i = 0;i<15;i++){    chessBoard[i] = [];    for(var j=0;j<15;j++){        chessBoard[i][j] = 0;    }}

登录后复制

//画棋子var onstep = function (i, j, flag){//i,j代表棋子的索引位置,flag标记黑棋白棋    context.beginPath();    context.arc(15+i*30, 15+j*30, 13,0,2*Math.PI);    context.closePath();    var gradient = context.createRadialGradient(15+i*30+2,15+j*30-2,13,15+i*30+2,15+j*30-2,0);    if(flag){//如果flag为真则黑棋        gradient.addColorStop(0, "#0A0A0A");        gradient.addColorStop(1,"#636766")    }else {//白棋        gradient.addColorStop(0, "#D1D1D1");        gradient.addColorStop(1,"#F9F9F9");    }    context.fillStyle=gradient;    context.fill();}

登录后复制

//点击时触发,获得所点击的位置,然后判断该位置有没有棋子,若没有也就是if判断,调用onstep函数画黑棋(or白棋)chess.onclick = function (e){    var x = e.offsetX;    var y = e.offsetY;    var i = Math.floor(x/30);    var j = Math.floor(y/30);    if(chessBoard[i][j]==0){        onstep(i,j,flag);       chessBoard[i][j] = 1;        flag = !flag;    }}

登录后复制

2. 效果图

(自己在棋盘上随机点击会轮流出现黑棋和白棋)
在这里插入图片描述

第四节 背景添加

1. 代码编写

var pic = new Image();pic.src = "images/background.jpg";pic.onload = function (){    context.drawImage(pic, 0, 0, 450, 450);    drawChessBoard();}//注:棋盘设计中js编写最后一句可以删除了,因为在这里调用了drawChessBoard();

登录后复制

2. 效果图

在这里插入图片描述
这里是index.html里面的代码

        五子棋    

登录后复制

项目架构
在这里插入图片描述

这样简易的五子棋UI界面就设计好了,赶紧动手试一试哦!

相关免费学习推荐:javascript(视频)

以上就是介绍JS实现五子棋界面设计的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2717918.html

(0)
上一篇 2025年3月7日 22:09:55
下一篇 2025年3月6日 14:25:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js 怎么设置css不可见

    js设置css不可见的方法:1、通过设置display属性实现组件完全隐藏;2、通过设置visibility属性实现组件仅隐藏,但影响布局;3、通过设置opacity透明度实现物理上的不可见即可。 本教程操作环境:Windows7系统、De…

    2025年3月7日
    200
  • js 判断值是否为数字

    js判断值是否为数字的方法:1、使用isNaN()函数判断值是否为数字;2、使用正则表达式判断值是否为数字;3、使用parseFloat()函数判断值是否为数字。 本文操作环境:windows7系统,DELL G3电脑 JS判断值是否是数字…

    2025年3月7日
    200
  • js如何创建字符串数组

    js创建字符串数组的方法:1、创建一个空数组,并将其赋值为字符串,代码为【var arr=[];var arr=new Array(“1″,”sdf”)】;2、实现方法为将字符串按某个字符切割…

    2025年3月7日
    200
  • js 怎么判断数字相等

    js判断数字相等的方法:首先创建一个HTML示例文件;然后添加script标签;最后通过“document.getElementById(“demo”).innerHTML = (x == 8);”方式判断数字是否相…

    2025年3月7日
    200
  • js className如何修改class属性

    js className修改class属性的方法:1、修改class类名为【p-a-0】;2、在保留【class=”p1″】的基础上再添加一个类名为【p-a-0】;3、结果需删除【class=”addp1…

    2025年3月7日 编程技术
    200
  • js怎么换行

    js换行的方法:1、使用“”换行符实现换行;2、通过“”换行符实现换行;3、使用HTML的标签实现换行,代码如“document.write(“第一行第二行”)”。 本教程操作环境:windows7系统、javasc…

    2025年3月7日
    200
  • js怎么取整数

    js取整数的方法:1、通过“Math.trunc()”方法去除数字的小数部分,保留整数部分;2、通过“Math.round()”方法返回一个数字四舍五入后的整数部分;3、通过“Math.ceil()”方法实现向上取整等等。 本文操作环境:w…

    2025年3月7日
    200
  • 介绍JS 表单提交信息加密

    提交表单 Title 用户名: 密码: 提交 function aaa(){ var usern=document.getElementById(“username”); var pwd=document.getElementById(“p…

    2025年3月7日
    200
  • js怎么判断是否为数字

    js判断是否为数字的方法:1、使用isNaN()函数判断是否为数字;2、使用正则表达式判断是否为数字;3、利用parseFloat()的返回值来实现判断。 本教程操作环境:windows7系统、javascript1.8.5版,DELL G…

    2025年3月7日
    200
  • JS函数中的几种参数形式

        函数是一段结合在一起执行特定任务的代码,函数一般使用参数与外部进行交互。要编写简洁高效的js代码,必须掌握函数参数。在本文中,会使用一些有趣的例子来解释 js 必须有效地处理函数参数的所有特性。 1.函数参数 function su…

    2025年3月7日
    200

发表回复

登录后才能评论