Python 利用Turtle模块绘制国际象棋棋盘

2023-11-04

使用Turtle模块绘制国际象棋棋盘

使用语言:Python 3.7.3

思路:
国际象棋是8×8的一个个小正方形,或者说是9横9纵的线组成。作画的时候,先做9横9纵的线,再填上灰色的小正方形,即可完成

本次画的棋盘边长为160×160.
在这里插入图片描述
1、import turtle

import turtle

2、画9横9纵的线

for num in range(-80, 100, 20):   # 画9根横线
    turtle.up()
    turtle.goto(-80, num)
    turtle.down()
    turtle.forward(160)
turtle.right(90)
for num1 in range(-80, 100, 20):   # 画9根纵线
    turtle.up()
    turtle.goto(num1,80)
    turtle.down()
    turtle.forward(160)

在这里插入图片描述
9根横线
在这里插入图片描述
9根纵线
3、外框加粗

turtle.right(90)	# 上一步结束,海龟方向朝下,为了方便,先转一下
turtle.colormode(255)	# 颜色弄成RGB模式,选颜色方便
turtle.pencolor(0, 0, 0)	# 下边要画黑色的边框,不过本身就是黑色的....有点多余了
turtle.pensize(2)	# 画笔加倍。默认是1,现在变2
for num2 in range(4):	# 画大边框
    turtle.forward(160)
    turtle.right(90)
turtle.pensize(1)	# 恢复画笔宽度
turtle.goto(-80, -80)	# 去到最左下角的点,好继续下一步

在这里插入图片描述
外框加粗
4、最后,填色
只要捋请规律了就没啥问题。

以下的小正方形填色,就是我们需要循环的。

        turtle.up()	
        turtle.goto(x, y)
        turtle.down()
        turtle.begin_fill()
        turtle.fillcolor('grey')
        for b in range(4):
            turtle.right(90)
            turtle.forward(20)
        turtle.end_fill()

按照上边的小正方形填色,然后找到每一个点,画笔抬起,落下,如此循环即可

for x in range(-80,80,40):
    for y in range(-80,80,40):
        turtle.up()
        turtle.goto(x, y)
        turtle.down()
        turtle.begin_fill()
        turtle.fillcolor('grey')
        for b in range(4):
            turtle.right(90)
            turtle.forward(20)
        turtle.end_fill()
turtle.up()
turtle.goto(80, 80)
turtle.down()
for x1 in range(-60,80,40):
    for y1 in range(-60,80,40):
        turtle.up()
        turtle.goto(x1, y1)
        turtle.down()
        turtle.begin_fill()
        turtle.fillcolor('grey')
        for b in range(4):
            turtle.right(90)
            turtle.forward(20)
        turtle.end_fill()

5,收尾
隐藏箭头;
为了窗口在画完的时候不关。

turtle.hideturtle()	# 隐藏箭头
turtle.done()	# 保持窗口,不关闭

最终效果
最终效果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 利用Turtle模块绘制国际象棋棋盘 的相关文章

随机推荐

  • springcloud配置中心_Spring Cloud集成Apollo分布式配置中心(含源代码)

    在Spring Cloud项目中使用Apollo 分布式配置中心之前 需要先启动Apollo的配置服务端 具体操作步骤 可参看如下链接 携程Apollo 阿波罗 分布式配置中心 总体架构设计和核心概念 携程Apollo 分布式配置中心 本地
  • 2021长安二中高考成绩查询,最全!2020年陕西省50所高中高考成绩汇总&数据分析!...

    原标题 最全 2020年陕西省50所高中高考成绩汇总 数据分析 目前 陕西省部分高中学校2020年的高考成绩流传出来 为家长们津津乐道 本文汇总了包含西安 宝鸡 咸阳 渭南 延安等各地市共50所学校的高考成绩 供家长们参考 2020年西安市
  • Spring启动的bean回调函数

    启动时调用 Spring启动时bean会按照如下顺序进行回调 构造函数 实现ApplicationContextAware的函数 PostConstruct标注的函数 实现InitializingBean接口的函数 Bean注解中initM
  • Boost练习程序(智能指针)

    include
  • 前端项目review之修改element-ui全局主题颜色配置element-theme-chalk和gulp

    每个公司的主题风格肯定是不一样的 比如现在的公司主题就是 00ab7a 在PC端TO B的项目中少不了用element ui 这个时候用element theme chalk直接本地编译修改了element全局的主题色 一 修改默认主题配色
  • 爬虫的概念

    爬虫 模拟浏览器的行为 向服务器发送请求 获取响应中的数据 往白了说就是模拟浏览器的行为 掌握要点 如何更像的模拟浏览器的行为 总结 浏览器能拿到的数据 就一定可以爬到 浏览器拿不到的数据 就一定爬不到
  • 【Ubuntu】Ubuntu系统启动过程中,输入用户名与密码后登录一直卡在紫色界面问题(未解决,最后通过重装系统)

    Ubuntu Ubuntu系统启动过程中 输入用户名与密码后登录一直卡在紫色界面问题 未解决 最后通过重装系统 参考文章 1 Ubuntu Ubuntu系统启动过程中 输入用户名与密码后登录一直卡在紫色界面问题 未解决 最后通过重装系统 2
  • React笔记(八)Redux

    一 安装和配置 React 官方并没有提供对应的状态机插件 因此 我们需要下载第三方的状态机插件 Redux 1 下载Redux 在终端中定位到项目根目录 然后执行以下命令下载 Redux npm i redux 2 创建配置文件 在 Re
  • js中包含中文注释引起的错误

    在一个js文件中有如下代码块 显示某块function MissBlock theid 在 aspx中引用该文件 执行页面时提示脚本错误 很长时间调试之后 发现与函数前的中文注释有关 把注释去掉或改成英文就OK了估计跟页面的编码设置有关 特
  • Linux内核-漫画

    学习的过程中发现了这个有意思的漫画 于是简单翻译了一下 原图 翻译
  • Springboot中使用策略模式+工厂模式

    策略模式和工厂模式相信大家都比较熟悉 但是大家有没有在springboot中实现策略和工厂模式 具体策略模式和工厂模式的UML我就不给出来了 使用这个这两个模式主要是防止程序中出现大量的IF ELSE IF ELSE 接下来咱们直接实现 项
  • es文档操作

    1 kibana操作 1 1新增文档 语法 POST 索引库名 doc 文档id 字段1 值1 字段2 值2 字段3 子属性1 值3 子属性2 值4 示例 POST heima doc 1 info 黑马程序员Java讲师 email zy
  • 嘴说手画Spark的内存模型

    一 内存模型 Spark的内存模型如下图所示 Reserved Memory 固定为 300MB 不受开发者控制 是启动Spark框架本身所需要的内存空间 UserMemory 是用户空间 即用户定义的数据 通常是用户在代码中定义的变量 可
  • iMazing高效便捷的数据转移功能

    近几年来iMazing设备管理工具被广大苹果用户所青睐 相比苹果的另一个设备管理工具iTunes iMazing更具有操作简单 易掌握的优势 iMazing支持将iOS手机数据备份到电脑 支持将数据恢复到苹果设备中 也支持将手机数据转移到其
  • python 注意事项(—)

    1 优先级高于 1 Since has higher precedence than 3 2 will be interpreted as 3 2 and thus result in 9 To avoid this and get 9 y
  • ChatGPT的Fine-tuning是什么?

    fine tuning基本概念 Fine tuning 微调 是指在预训练过的模型基础上 使用特定任务的数据进行进一步的训练 以使模型更好地适应该任务 在ChatGPT的情况下 Fine tuning是指在预训练的语言模型上使用对话数据进行
  • dyld: Library not loaded:

    dyld Library not loaded 问题 在使用阿里的开源库LazyScrollView的时候出现的这个问题 本地Xcode11 4 1 真机调试 dyld Library not loaded rpath LazyScroll
  • centos查看系统名称、架信息

    centos查看系统名称 架构 hostnamectl
  • 将一个数组中的元素向后移动k位

    设计一个算法 将数组A 0 n 1 中的元素循环右移K位 假设原数组序列为 a0 a0 an 2 an 1 移动后的序列为 an k an k 1 a0 a1 an k ab k 1 要求只用一个元素大小的附加存储 元素移动或变换次数与n线
  • Python 利用Turtle模块绘制国际象棋棋盘

    使用Turtle模块绘制国际象棋棋盘 使用语言 Python 3 7 3 思路 国际象棋是8 8的一个个小正方形 或者说是9横9纵的线组成 作画的时候 先做9横9纵的线 再填上灰色的小正方形 即可完成 本次画的棋盘边长为160 160 1