制作象棋棋盘(如何打造令人惊叹的象棋棋盘)
本篇介绍, 如何用excel制作一个象棋棋盘并可以实现下棋功能
关于这个功能,其实道理也十分简单,无非就是一些图形加几个车马将帅。
通过对棋盘的了解,用直线画出棋盘,然后添加棋子,最后就开始厮杀了。

话不多说,先睹为快
红方棋局,开局就如上图,车马相士将炮兵,各就各位。
背景有点黑,马上开打。
蓝方棋局,同样也排好队型,不能乱,乱了方寸就败近矣。
车(这个字念ju)马象士帅

为了更直观看到下棋的场景,做了一个动态效果图,仔细看,一定不会失望。

功能介绍
设置了三个按钮,一个绘制棋盘,一个绘制棋子,一个清除棋局。
感觉已经可以完成一盘棋的功能了,当然了,为了公平合理,不设置悔棋。

棋盘的样子四平八稳,没有一点特色,几百年来就是这样。
看上去十分冷漠,战争嘛,没有温柔的,流血和失去生命的过程,没有人喜欢。

代码放送
主要代码:
ws.shapes.addshape(msoshapeoval, x, y, w, h)画圆形
ws.shapes.addline(x,y, xend, yend)画线条
绘制棋盘
sub addline() dim ws as worksheet set ws = activesheet dim r as integer, g as integer, b as integer r = 255 g = 250 b = 250 dim t as long, l as long, w as long, h as long t = 150 l = 100 w = 640 h = 720 dim linew as integer linew = 6 dim ls as shape dim ri as integer ri = 90 dim lw as integer lw = linew / 2 dim i as integer for i = 0 to 9棋盘横线 set ls = ws.shapes.addline(l, t + ri * i, w + l + ri - 10, t + ri * i) with ls with .line .style = msolinesingle .forecolor.rgb = rgb(r, g, b) if i = 5 or i = 4 then .weight = 30 .forecolor.rgb = rgb(200, 211, 0) .style = msolinesingle else .weight = 2 end if end with end with next i for i = 0 to 8棋盘竖线 set ls = ws.shapes.addline(l + ri * i, t, l + ri * i, h + t + ri) with ls with .line .style = msolinesingle .forecolor.rgb = rgb(r, g, b) .weight = 2 end with end with next iend sub绘制棋子
sub addovalfont(sarr, n, irow, f) dim ws as worksheet set ws = activesheet dim o as shape dim x as long, y as long, w as long, h as long dim r as integer, g as integer, b as integer if f then r = 255 g = 25 b = 50 else r = 25 g = 50 b = 255 end if x = 90 * n + 60 y = 100 * irow w = 90 h = w set o = ws.shapes.addshape(msoshapeoval, x, y, w, h) with o .fill.forecolor.rgb = rgb(r, g, b) with .textframe .verticalalignment = xlvaligncenter .horizontalalignment = xlhaligncenter .marginbottom = 10 .marginleft = 10 .margintop = 10 .marginright = 10 with .characters .text = sarr 棋子文字 with .font .size = 60 .bold = true .name = "隶书" .color = rgb(225, 255, 255) end with end with end with doevents end withend sub棋盘布局
private sub commandbutton1_click()clearovalshapedim sarrsarr = array("车", "马", "相", "仕", "帅", "相", "仕", "马", "车")sarr3 = array("炮")sarr4 = array("兵")sarr2 = array("车", "马", "象", "士", "将", "象", "士", "马", "车")sarr5 = array("卒")dim n as integerfor n = 0 to ubound(sarr) call addovalfont(sarr(n), n, 1, true) call addovalfont(sarr2(n), n, 9, false)next ncall addovalfont(sarr3(0), 1, 3, true)call addovalfont(sarr3(0), 6, 3, true)for n = 0 to 8 step 2 call addovalfont(sarr4(0), n, 4, true)next ncall addovalfont(sarr3(0), 1, 7, false)call addovalfont(sarr3(0), 6, 7, false)for n = 0 to 8 step 2 call addovalfont(sarr5(0), n, 6, false)next nend sub结尾
互动功能是第一次用excel来制作,整体效果很好,唯一比较难的是对图形位置定位,这个要有一定是数学计算能力,和图形大小变化,位移等等理解,做起来需要多次调试。
最后结果也不是十分精确,为了让整个棋盘显得像那么回事儿,做了不少重复无聊的调试。
有兴趣的朋友可以自己试着做一下。
免费的
【温馨提示】如果文章内容有帮助到您,别忘动动小手指分享给好友哦!
相关文章
-
天天象棋评测,纯人最高能达到什么级别?
天天象棋是目前非常流行的一款象棋软件,深受广大棋友的欢迎,天天象棋评测系统也成为目前衡量棋手水平的重要依据。一些棋友根据天天象棋的评测分数及等级,对应划分出村级、...
2023-04-26 阅读 (1691) -
象棋古谱《金鹏十八变》全局篇第53局:让左马得先顺手炮局
在高、低手对弈中,高手往往采取让一子或双子的方式。在子力弱势的情况下,高手主要利用出子较快的优势来争先取势,以求战略平衡。其间运子占位等战术,值得借鉴。《金鹏十八...
2023-04-15 阅读 (566) -
郑惟桐象棋直播间2023(2023年,郑惟桐的象棋直播间会有哪些精彩对局)
1.郑惟桐获得五羊杯重磅回归后的第一个冠军,意义的确非比寻常。毫无疑问,在最近十多年的象棋界,除了全国象棋个人赛外,含金量最高的赛事冠军莫过于碧桂园杯的冠军,随着碧桂园杯的落幕以及五羊杯的回归,五羊杯冠军自然成了衡量一个顶尖棋手战绩和实力的重要参考。郑惟桐能获得五羊杯的冠军,说明他的棋力依旧保持在最佳水平,尽管他在预赛的表现比较一般。
2023-09-09 阅读 (563) -
象棋残局解析:投肉馁虎
同秦军去拼死,这好比把肉投给饥饿的老虎,能有什么功效呢?馁,饥饿的意思。投肉给饿虎,岂不立即被吃掉?在困难或挫折面前失去信心,退缩不前不要馁怯,坚持下去。“投肉馁虎...
2023-04-15 阅读 (562) -
象棋软件里的战斗,人工智能技术哪家强
象棋软件,确实厉害,特大、大师,都用其作为帮助分析。软件之中,哪家技术最强,众说纷纭,其中象棋旋风、象棋名手等,为先前多届软件大赛的冠军得主,第一轮流转。
2023-04-30 阅读 (362) -
沈阳象棋特大名单(沈阳象棋特大名单,谁将成为下一个冠军)
喜欢象棋又比较关注各地赛事的朋友们应该经常能看到,在各个地区的中小规模的象棋比赛中,偶尔还会出现象棋特级大师报名在册的事情。这个时候,你不用怀疑,尤其是前些年,50%的概率是苗永鹏特大。苗特大算是以特大的身份而活跃在业余棋界的第一人。苗永鹏特大,1954年11月份出生在沈阳市的一个普通的工人家庭。1967的时候正值“文革”停课阶段,他父亲为了不让孩子们去社会上游荡和惹事,而制作了一副象棋,后开始教几个孩子下象棋,13岁的苗永鹏从那个时候才算是正式的接触到了象棋。
2023-09-09 阅读 (358) -
象棋布局常识
布局:本指下棋时从全局观点出发进行布子。围棋、象棋竞赛中指一局棋开始阶段布置棋子。对事物的结构、格局进行全面安排:写文章要认真选材,慎重布局。工业布局不尽合理。唐...
2023-04-13 阅读 (350) -
象棋的棋盘
象棋是一种模拟古代战争的智力游戏,而棋盘就是红黑双方作战的战场。它共有九条直线和十条横线交叉组成。它像指挥员整天研究的地图,我们一定要认真地了解它,尤其是一些重要据点和要道。如图所示。在棋盘的中央没有划通直线的地方叫河界,它是红黑双方的分界线,河界的上方为黑方地域,河界的下方为红方地域。因为象棋是根据楚汉相争的历史设计的游戏,所以人们在河界里会写上“楚河汉界”四个字。
2024-12-22 阅读 (302) -
“迎春杯”象棋团体公开赛开枰,“少年力量”在赛场闪耀
2023年3月11日,由广州市象棋协会、广州文化公园和广东东湖棋院联合主办的第二十八届“迎春杯”象棋团体公开赛,在广州文化公园中心台开枰。本届比赛采用积分编排制,共赛七轮...
2023-04-15 阅读 (296) -
象棋的棋盘长什么样子
1、中国象棋规则规定:比赛用的标准棋盘,应每格都为正方形,每方格长宽均应为3.2至4.6cm。每个平面圆形棋子直径应为2.7至3.2cm,大小与棋盘合适配套。棋盘和棋子底色,均应为白色或浅色。棋盘上直线和横线应为红色或深色,四周应有适当空白面积。棋子面色分为红黑两组,字体和圆框应当醒目。 演示比赛用的大棋盘为直式,红方在下,黑方在上。
2024-03-14 阅读 (256)
