棋盘代码_Excel 如何制作象棋棋盘,来一起做,完全源代码

本文教你如何使用Excel创建一个象棋棋盘,并实现基本的下棋功能。通过绘制直线和形状实现棋盘和棋子,提供源代码,并设有绘制、清除棋局的按钮。虽然没有悔棋功能,但整体效果良好,适合对图形定位有一定理解的读者尝试。
摘要由CSDN通过智能技术生成

本篇介绍, 如何用Excel制作一个象棋棋盘并可以实现下棋功能

关于这个功能,其实道理也十分简单,无非就是一些图形加几个车马将帅。

通过对棋盘的了解,用直线画出棋盘,然后添加棋子,最后就开始厮杀了。

3db6040a0fde92018841dbfc05171b21.png

话不多说,先睹为快

红方棋局,开局就如上图,车马相士将炮兵,各就各位。

背景有点黑,马上开打。

蓝方棋局,同样也排好队型,不能乱,乱了方寸就败近矣。

车(这个字念ju)马象士帅

f37a98ea048d82d3f33ccad2c1ce3cce.png

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

5eb1ffdebf1b15e490d5cc702bbc03bb.gif

功能介绍

设置了三个按钮,一个绘制棋盘,一个绘制棋子,一个清除棋局。

感觉已经可以完成一盘棋的功能了,当然了,为了公平合理,不设置悔棋。

eb0c6dc106da520ff1a8336ee7267a27.png

棋盘的样子四平八稳,没有一点特色,几百年来就是这样。

看上去十分冷漠,战争嘛,没有温柔的,流血和失去生命的过程,没有人喜欢。

bc6c0bd8ae75cb3cf0fcd88bd392d5fd.png

代码放送

主要代码:

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来制作,整体效果很好,唯一比较难的是对图形位置定位,这个要有一定是数学计算能力,和图形大小变化,位移等等理解,做起来需要多次调试。

最后结果也不是十分精确,为了让整个棋盘显得像那么回事儿,做了不少重复无聊的调试。

有兴趣的朋友可以自己试着做一下。

欢迎关注、收藏,免费的

weixin_39655993
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用C#编写象棋棋盘
better_csc的博客
03-18 1166
刚开始用新的编程环境设计一个项目,需要学习和不断积累,通过这些过程不断的汲取经验教训。下面是我们小组的一个关于中国象棋棋盘的项目。 1.设计思路与分析 首先规定一个起始点(*,*),水平方向长度用x表示(共分为8格),垂直方向的宽度用h表示(共分为9格),象棋的每个小格都是正方形的。长和宽的比例为8:9,可以规定长度a=(1/8)x,同理宽度为h的1/9,然后可以利用公式计算行列的坐标*+na。以及兵格和炮格的位置设计思路在下图标出。(其中楚河汉界字也是通过坐标调好位置) 2.若是追求设计.
国际象棋棋盘 -《跟小海龟学Python》案例代码
weixin_49630241的博客
08-06 1483
今天分享新书《跟小海龟学Python》的案例代码:国际象棋棋盘。Python源代码:from turtle import * # 定义绘制填充正方形函数(左上角x、y坐标、边长、颜色) def drawSquare(x, y, l, col): color(col) # 设置颜色 penup() # 抬笔 goto(x, y) # 移动到目标位置 pendo...
EXCEl中国象棋
02-10
EXCELVBA的中国象棋画面精致,可以供大家参考一下。
中国象棋-excel
10-26
中国象棋-excel版,利用exceL宏编写的,转载下。
Excel VBA 2003编写的中国象棋对弈软件(已经解密)
07-02
该中国象棋对弈软件用Excel VBA 2003编写 原始文件的密码已经移除, 可以直接参考原始代码学习编程 棋力可以供初学象棋的同学参考.
excel用vba开发的中国象棋
01-11
excel用vba开发的中国象棋,水平臭了点
象棋python代码_python图形工具turtle绘制国际象棋棋盘
weixin_39582656的博客
11-24 736
本文实例为大家分享了python图形工具turtle绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下#编写程序绘制一个国际象棋棋盘import turtleturtle.speed(30)turtle.penup()off = Truefor y in range(-40, 30 + 1, 10):for x in range(-40, 30 + 1, 10):if off:turtle.g...
象棋联机java代码_中国象棋源代码Java程序
weixin_39909366的博客
12-19 201
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;importjava.io.*;publicclassChess{publicstaticvoidmain(Stringargs[]){newChessMainFrame("中国象棋:观棋不语真君子,棋死无悔大丈夫");...
c语言八皇后源代码棋盘,八皇后源代码 原创 c语言实现
weixin_42314680的博客
05-22 385
八皇后是一个有名的问题,对于初学者来说是一个比较好的练手的习题,有助于对函数的递归调用的理解和运用。共有92种是符合要求的。八皇后问题要求在一个8 × 8 的 棋盘上放上8个皇后,使得每一个皇后既攻击不到另外 7 个皇后,也不被另外 7 个皇后所攻击。 按照国际象棋的规则, 一个皇后可以攻击与之处在同一行或同一列或同一斜线上的其他任何棋子/*八皇后源代码如下所示,解决这个问题有递归法和迭代法,我所...
中国象棋博弈源代码Android,中国象棋源代码
weixin_27310417的博客
05-27 393
本人机对弈程序采用了多种搜索算法.以下是本程序主要的类说明:1.CEveluation类:估值类,对给定的棋盘进行估值.2.CMoveGenerator类:走法产生器,对给定的棋盘局面搜索出所有可能的走法.3.CSearchEngine类:搜索引擎基类.4.CNegaMaxEngine类:负极大值法搜索引擎.5.CAlphaBetaEngine类:采用了Alpha-Beta剪枝技术的搜索引擎.6....
Excel 象棋小游戏源代码,基于Excel VBA 宏制作象棋小游戏源码
最新发布
12-27
Excel 象棋小游戏源代码,基于Excel VBA 宏制作象棋小游戏源码
java编写的象棋棋盘源代码
11-18
java编写的象棋棋盘源代码,实现象棋棋盘的各条线!
中国象棋棋盘 c语言简单代码
10-10
简单的c 语言代码 当中用到EasyX 图形库
中国象棋棋盘源码易语言编写
12-19
象棋棋盘用易语言写的,具有悔棋功能不具备与电脑下棋的功能。
象棋程序代码(c语言)
09-30
用c语言编写的象棋程序代码。包含棋盘绘制,棋子绘制,行棋规则,胜负判断,键盘操作等一整套完整的代码
象棋巫师源代码.zip_象棋_象棋巫师_象棋巫师 源码_象棋引擎_象棋引擎源码
07-14
象棋巫师源代码分析与学习指南》 在编程世界中,象棋引擎是一种复杂的算法集合,用于模拟和分析棋局。"象棋巫师"是一款著名的中国象棋软件,其背后的源代码是理解棋类游戏AI设计的宝贵资料。本篇文章将深入探讨...
中国象棋vc源代码.rar_中国象棋_中国象棋源码_算法象棋代码_象棋 VC _象棋vc代码
07-13
《中国象棋VC源代码解析》 中国象棋,作为中国传统智慧的结晶,深受广大棋迷喜爱。在信息技术高速发展的今天,将象棋与编程相结合,实现自动化对弈,不仅是一种创新,也是对传统游戏的现代化演绎。本文将深入探讨...
VC++ 中国象棋人机对弈程序源代码_C++_象棋对弈_象棋_
10-02
《VC++实现的中国象棋人机对弈程序详解》 在编程领域,尤其是在游戏开发中,实现人机对弈的程序是一项具有挑战性的任务。本文将深入探讨使用C++编程语言开发的中国象棋人机对弈程序,旨在帮助读者理解和掌握相关...
由Java编写的国际象棋毕业设计源代码.zip_java 国际象棋_java 毕业设计_java国际象棋_国际象棋java_源代
09-23
这个程序允许用户通过图形界面来玩国际象棋游戏,加深了对编程、算法以及游戏规则的理解。 1. **Java编程语言**:Java是一种广泛使用的面向对象的编程语言,具有跨平台、安全性和高效性等特点。在这个国际象棋项目...
Java实现中国象棋源代码与GUI设计
本资源是一份名为"中国象棋源代码JAVA程序.pdf"的文档,它提供了一个基于Java编写的中国象棋游戏程序的源代码实现。该程序使用Swing库构建了一个简单的图形用户界面(GUI),以模拟中国象棋的对弈过程。 程序的主要...
写文章

热门文章

  • python array转换成list_python中numpy数组与list相互转换实例方法 33315
  • python如何让某一代码只执行一次_看完这篇文章,你的Python基础就差不多了(二)... 9907
  • win10开启虚拟化服务器,win10怎么开启virtualization technology虚拟化技术 7309
  • python如何画矩形_python matplotlib.pyplot画矩形图 以及plt.gca() 5944
  • python成绩统计_利用python进行学生成绩分析 4896

最新文章

  • 无限路由设置网页服务器错误,win7打不开路由器界面怎么办 192.168.0.1连接错误原因...
  • 虚拟机服务器时间跑快,虚拟机时间同步的重要性
  • pcl怎么在服务器里显示披风,PCL点云的显示
2021年140篇
2020年212篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家河北生产玻璃钢雕塑厂家甘南玻璃钢花盆古代玻璃钢人物雕塑费用是多少玻璃钢雕塑属于什么类目盐城商场大厅美陈汕头玻璃钢雕塑造型北京商场美陈布置方案宁夏玻璃钢雕塑报价呈贡定做玻璃钢雕塑厂家特别推荐山东通道商场美陈研发公司云南玻璃钢仿生雕塑玻璃钢花盆爆销宁夏广场玻璃钢雕塑设计山东玻璃钢青蛙雕塑龙岩模压法玻璃钢雕塑山西步行街玻璃钢雕塑价位桂平玻璃钢泡沫雕塑玻璃钢雕塑猪八戒北京常见商场美陈费用安徽玻璃钢卡通形象雕塑上海装饰商场美陈生产厂家湖州玻璃钢人物雕塑定做阆中玻璃钢花盆花器青岛定做玻璃钢卡通雕塑白银卡通玻璃钢雕塑定做吉林玻璃钢草莓雕塑价格飞天壶玻璃钢雕塑江海商场美陈仙桃玻璃钢牛雕塑玻璃钢果篮景观雕塑报价表香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化