python 绘制围棋棋盘_[案例] 绘制国际象棋棋盘?(turtle 登场)

v2-0936a19ea13271a207b7865572f18ae4_1440w.jpg?source=172ae18b

案例介绍

今天我们来用 turtle 画一个国际象棋棋盘,大小为 8x8。

v2-712137afa35770edb5d076b66f542033_b.jpg
​国际象棋棋盘
turtle 绘图(海归绘图)很适合用来引导孩子学习编程,请想象绘图区有一只机器海龟,起始位置在 x-y 平面的(0, 0)点,先执行 import turtle,再执行 turtle.forward(15),它将朝所面对的 x 轴 正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度... 通过对这些命令的组合使用,我们可以轻松绘制出精美的形状和图案。——《turtle——海归绘图》

准备工作

我们需要使用 案例介绍 中提到的 turtle 基本使用方法,来一点一点绘制出这个棋盘,先绘制线条,然后再将对应的黑色块填充即可。

不需要安装额外的库,turtle 库是 Python 3 自带的库,只需要引用即可。

细节设计

  1. 先绘制棋盘线段。用两个 for 循环即可实现。
  2. 然后填充棋盘中的黑色块。使用双重循环实现,内层循环(2个 for 循环)以两行为一组,填充里面的黑色方块,外层循环控制哪一组(一共4组)。

代码汇总

import 

做一个 GIF 动画来详细展示绘制过程。

v2-4ea9afea078d97bdbd90ef8b964c6dc3_b.gif

运行结果

v2-db5d9a9471d0c6cf405ca8aec3da292b_b.jpg
​绘制棋盘边界


v2-5ae0348daf973d4e7bb1d5e3d998b6d2_b.jpg
​填充颜色块


v2-32729e144ebf733f4066af18e39e195b_b.jpg
​最终结果


后记

以上就是我们使用 turtle 练手的小项目了,关于 turtle 的其它操作可以参考 参考资料

参考资料

  • turtle 库官方文档:https://docs.python.org/zh-cn/3.8/library/turtle.html#introduction
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用turtle绘制中国象棋棋盘,具体实现可以参考以下代码: import turtle # 设置画布大小 turtle.setup(800, 800) # 设置画笔颜色和粗细 turtle.pensize(2) turtle.pencolor("black") # 绘制棋盘边框 turtle.penup() turtle.goto(-300, 300) turtle.pendown() turtle.goto(300, 300) turtle.goto(300, -300) turtle.goto(-300, -300) turtle.goto(-300, 300) # 绘制棋盘横线 turtle.penup() turtle.goto(-300, 240) turtle.pendown() turtle.goto(300, 240) turtle.penup() turtle.goto(-300, 180) turtle.pendown() turtle.goto(300, 180) turtle.penup() turtle.goto(-300, 120) turtle.pendown() turtle.goto(300, 120) turtle.penup() turtle.goto(-300, 60) turtle.pendown() turtle.goto(300, 60) turtle.penup() turtle.goto(-300, ) turtle.pendown() turtle.goto(300, ) turtle.penup() turtle.goto(-300, -60) turtle.pendown() turtle.goto(300, -60) turtle.penup() turtle.goto(-300, -120) turtle.pendown() turtle.goto(300, -120) turtle.penup() turtle.goto(-300, -180) turtle.pendown() turtle.goto(300, -180) turtle.penup() turtle.goto(-300, -240) turtle.pendown() turtle.goto(300, -240) # 绘制棋盘竖线 turtle.penup() turtle.goto(-240, 300) turtle.pendown() turtle.goto(-240, -300) turtle.penup() turtle.goto(-180, 300) turtle.pendown() turtle.goto(-180, -300) turtle.penup() turtle.goto(-120, 300) turtle.pendown() turtle.goto(-120, -300) turtle.penup() turtle.goto(-60, 300) turtle.pendown() turtle.goto(-60, -300) turtle.penup() turtle.goto(, 300) turtle.pendown() turtle.goto(, -300) turtle.penup() turtle.goto(60, 300) turtle.pendown() turtle.goto(60, -300) turtle.penup() turtle.goto(120, 300) turtle.pendown() turtle.goto(120, -300) turtle.penup() turtle.goto(180, 300) turtle.pendown() turtle.goto(180, -300) turtle.penup() turtle.goto(240, 300) turtle.pendown() turtle.goto(240, -300) # 隐藏画笔 turtle.hideturtle() # 等待用户关闭窗口 turtle.done()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值