html画布创建黑白象棋棋盘,Canvas绘制象棋棋盘
学习Canvas可以通过一些例子来增加成就感
一下是一个输出一个象棋棋盘的例子
象棋棋盘
//以要画的点为原点定义四个象限
var pointDefine=[[-1,-1],[1,-1],[-1,1],[1,1]];
//要绘制标记方位 全部
var allP =[0,1,2,3];
//要绘制标记方位 左侧
var leftP =[1,3];
//要绘制标记方位 右侧
var rightP =[0,2];
var cl = 70;
/**
* 炮和兵位置信息
* 每一组位置信息为,横向位置,纵向位置,纵向位置上与之相对应的点的距离,要绘制标记方位(左侧还是右侧还是全部)
*/
var points=[
[0,3,3,leftP],
[8,3,3,rightP],
[2,3,3,allP],
[4,3,3,allP],
[6,3,3,allP],
[1,2,5,allP],
[7,2,5,allP]
];
var pointPlace = function (ctx,x,y,pointInfo){
var l = 10;
var space = 3;
for ( var i = 0; i
var xinfo = pointDefine[pointInfo[i]][0];
var yinfo = pointDefine[pointInfo[i]][1];
ctx.moveTo(x+xinfo*space,y+yinfo*l);
ctx.lineTo(x+xinfo*space,y+yinfo*space);
ctx.lineTo(x+xinfo*l,y+yinfo*space);
}
}
var drawX = function (ctx,x,y){
ctx.moveTo((x-1)*cl,(y-1)*cl);
ctx.lineTo((x+1)*cl,(y+1)*cl);
ctx.moveTo((x+1)*cl,(y-1)*cl);
ctx.lineTo((x-1)*cl,(y+1)*cl);
}
var drawProitPare = function (ctx,x,y,cl){
pointPlace(ctx,x,y,allP);
pointPlace(ctx,x,y +cl*5,allP);
}
var drawProitPare = function (ctx,x,y,yplus,cl,pointP){
pointPlace(ctx,cl*x,cl*y,pointP);
pointPlace(ctx,cl*x,cl*y +cl*yplus,pointP);
}
/**
* 画象棋棋盘
*/
var drawTable = function(ctx){
for(var clo = 0;clo<8 ;clo++){
for(var ln = 0;ln<9 ;ln++){
if(ln!=4){
ctx.strokeRect(clo*cl,ln*cl,cl,cl);
}else{
ctx.strokeRect(0,ln*cl,cl*8,cl);
}
}
ctx.strokeRect(0,0,560,620);
}
}
var canvas1 = document.getElementById("canvas1");
var ctx = canvas1.getContext("2d");
//设置线宽 线的颜色
ctx.lineWidth = 1;
ctx.strokeStyle = "dodgerblue";
drawTable(ctx);
var ctx2 = canvas1.getContext("2d");
drawX(ctx2,4,1);
drawX(ctx2,4,8);
for(var i = 0; i
drawProitPare(ctx2,points[i][0],points[i][1],points[i][2],cl,points[i][3]);
}
ctx2.strokeStyle = "dodgerblue";
ctx2.font='bolder 48px 隶书';
ctx2.rotate(90 * Math.PI/180)
ctx2.strokeText("汉",cl*4+10,-485);
ctx2.strokeText("界",cl*4+10,-435);
ctx2.rotate(-180 * Math.PI/180)
ctx2.strokeText("楚",-(cl*5-10),70);
ctx2.strokeText("河",-(cl*5-10),120);
ctx2.stroke();
html画布创建黑白象棋棋盘,Canvas绘制象棋棋盘相关推荐
- 使用canvas 绘制象棋棋盘
先看效果图吧 O(∩_∩)O哈哈~ 代码在这里 <!dOCTYPE html> <html><head><meta charset="utf-8&q ...
- Canvas绘制五子棋棋盘
一.前台HTML中添加canvas(将width与height写入html中,放入css文件中显示的样式不一致) <canvas id="mycanvas" class=&q ...
- java绘制棋盘_java绘制五子棋棋盘
本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; import javax.swing.*; impo ...
- java五子棋棋盘_java绘制五子棋棋盘代码示例
本篇文章小编给大家分享一下java绘制五子棋棋盘代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下: import javax.imag ...
- html画布创建黑白象棋棋盘,HTML5学习与加固——canvas绘图象棋盘
1 2 3 4 5 6 canvas绘图_象棋盘 7 8 9 10 不支持Canvas 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 varob ...
- python绘制8×8棋盘_python绘制跳棋棋盘
毕设题目是用python做跳棋游戏,可怜我只找到了用python做的五子棋和用java做的跳棋,两边结合写出了python棋盘. (小声叨叨:老师明明说网上可以找到-) 话不多说,上代码. #数据定义 ...
- PHP绘制99的棋盘,JS canvas绘制五子棋的棋盘
本文为大家分享了JS canvas绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 box-shadow:给元素块周边添加阴影效果. 语法:box-shadow: h-shadow v-shadow ...
- 使用双重循环实现五子棋游戏棋盘的绘制
使用双重循环实现五子棋游戏棋盘的绘制 使用双重循环实现五子棋游戏棋盘的绘制,棋盘界面的具体效果如下: public class Demo103 {public static void main(Str ...
- html5时间画布走动,javascript+HTML5 canvas绘制时钟功能示例
本文实例讲述了javascript+HTML5 canvas绘制时钟功能.分享给大家供大家参考,具体如下: 效果如下: 代码: www.jb51.net canvas绘制时钟 div{text-ali ...
最新文章
- pythonos是啥_Pythonos模块介绍
- windbg+VM 设置内核调试环境(双机调试)
- js 根据所输内容生成助记码
- python123第九周测验答案2020_运用python123平台助力编程课教学
- GO tcp server demo
- linux下 USB动态监测 hotplug事件监测
- jar包在windows后台运行,通过.bat文件
- Spring Boot学习笔记(二)——HelloWorld实现
- spring api 中文_【每日3分钟技术干货 | 面试题+答案 | Springamp;SpringMVC篇
- android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...
- 端口镜像在网络安全中的应用
- 极化码理论及算法研究3-Arikan原版论文学习总结
- 梨花带雨html音乐播放器源码,梨花带雨 - 雨陌文化传媒 - 5SING中国原创音乐基地...
- 软件工程的完整生命周期
- python+opencv代码给证件照换底色
- 【Flex】“安装的AdobeFlashPlayer不是调试器”解决办法之详解
- python提取某一列数据,Python numpy 提取矩阵的某一行或某一列的实例
- RecyclerView侧滑删除
- MYSQL中,in、limt、升降序、count的用法
- iOS 越狱开发那些事儿之二
热门文章
- 《一斛珠·元夜月蚀》
- 自定义 View 之联系人字母索引及定位效果
- 【iOS-iap防护】验证用户付费收据!拒绝iap Cracker!拒绝iap Free!让iphone越狱用户无从下手!【2012年5月2日更新防护iap Free的方法】
- 石康,你别再让我越来越厌恶了,行不行
- 孝庄太后如何培养康熙的综合素质
- 学生喂养动物(猫,狗,鸟)
- Activity到底是什么时候显示到屏幕上的呢?
- /usr/include/linux/if_ppp.h:117: error: expected specifier-qualifier-list before 'aligned_u64' 解决方式
- word出现错误报告的解决办法
- python括号是中文还是英文_Python括号约定