python3 turtle 画国际象棋棋盘
python3 turtle 画国际象棋棋盘
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan import turtle n = 60 # 每行间隔
x = -300 # x初始值
y = -300 # x初始值 turtle.speed(11)
turtle.pensize(2)
# 先画8*8的正方形,并按要求涂黑
for i in range(8):
for j in range(1, 9):
turtle.penup()
turtle.goto(x + i * n, y + j * n )
turtle.pendown()
if (i + j) % 2 == 1: #不涂黑
for index in range(4):
turtle.forward(n)
turtle.left(90)
elif (i + j) % 2 == 0: #涂黑
turtle.begin_fill()
turtle.fillcolor('black')
for index in range(4):
turtle.forward(n)
turtle.left(90)
turtle.end_fill()
turtle.penup() # 再画外面两个正方形
x1 = x - n * 0.12
y1 = y - n * 0.12 + n
turtle.goto(x1, y1)
turtle.pendown()
turtle.pensize(4)
for index in range(4):
turtle.forward(n * 8 + 2 * n * 0.12)
turtle.left(90)
turtle.penup()
# ----------------------------------------------- x2 = x - n * 0.3
y2 = y - n * 0.3 + n
turtle.goto(x2, y2)
turtle.pendown()
turtle.pensize(10)
for index in range(4):
turtle.forward(n * 8 + 2 * n * 0.3)
turtle.left(90) turtle.hideturtle()
turtle.done()
稍作修改后,代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan import turtle n = 60 # 每行间隔,小格子边长
x = -300 # x初始值
y = -300 # x初始值 def main():
turtle.speed(11)
turtle.pensize(2)
turtle.penup()
# 先画8*8的正方形,并按要求涂黑
for i in range(8):
for j in range(8):
turtle.goto(x + i * n, y + j * n)
if (i + j) % 2 == 0: # 白格子
draw_square(n, "white")
elif (i + j) % 2 == 1: # 黑格子
draw_square(n, "black") # 再画外面两个正方形
x1 = x - n * 0.12
y1 = y - n * 0.12
n1 = n * 8 + 2 * n * 0.12
turtle.goto(x1, y1)
turtle.pensize(4)
draw_square_2(n1) # ----------------------------------------------- x2 = x - n * 0.3
y2 = y - n * 0.3
n2 = n * 8 + 2 * n * 0.3
turtle.goto(x2, y2)
turtle.pensize(10)
draw_square_2(n2) turtle.hideturtle()
turtle.done() def draw_square(length:float, fill_color:str):
"""
画正方形并填充
:param length: 边长
:param fill_color: 填充颜色
:return: 无
"""
turtle.pendown()
turtle.begin_fill()
turtle.fillcolor(fill_color)
for index in range(4):
turtle.forward(length)
turtle.left(90)
turtle.end_fill()
turtle.penup() def draw_square_2(length:float):
"""
画正方形,不填充
:param length: 边长
:return: 无
"""
turtle.pendown()
for index in range(4):
turtle.forward(length)
turtle.left(90)
turtle.penup() if __name__ == '__main__':
main()
效果图如下:
python3 turtle 画国际象棋棋盘的更多相关文章
- python3 turtle 画围棋棋盘
python3 环境 利用turtle模块画出 围棋棋盘 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan impor ...
- 使用turtle库画国际象棋棋盘
import turtle n = 60 # 每行间隔,小格子边长 x = -300 # x初始值 y = -300 # x初始值 def main(): turtle.speed(11) turtl ...
- python3 turtle画正方形、矩形、正方体、五角星、奥运五环
python3 环境 turtle模块 分别画出 正方形.矩形.正方体.五角星.奥运五环 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:H ...
- Python语言程序设计之二--用turtle库画围棋棋盘和正、余弦函数图形
这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位 ...
- Python3 turtle安装和使用教程
Python3 turtle安装和使用教程 Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数 ...
- GUI(国际象棋棋盘)
package com.niit.javagui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridB ...
- python运用turtle 画出汉诺塔搬运过程
python运用turtle 画出汉诺塔搬运过程 1.打开 IDLE 点击File-New File 新建立一个py文件 2.向py文件中输入如下代码 import turtle class Stac ...
- 函数纹理(国际象棋棋盘纹理&粗布纹理)MFC
函数纹理(国际象棋棋盘纹理&粗布纹理)MFC实现 源码百度云下载 国际象棋棋盘纹理(效果图见最后) //国际象棋纹理函数 //g(u, v) = a , 向下取整(8u)+向下取整(8v) ...
- day 03 turtle 画鹅
turtle 画鹅 import turtle t=turtle turtle.speed(10) t. setup(800,600) #画头 turtle.penup() turtle.goto(0 ...
随机推荐
- IT运维分析
http://www.infoq.com/cn/presentations/case-of-it-operation-analysis-and-log-search-analysis-engine?u ...
- 【LeetCode-面试算法经典-Java实现】【121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)】
[121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Say you have ...
- amaze ui使用简介
amaze ui使用简介 amaze UI 类似于bootstrap 不过比bootstrap更加轻量级 可以用来开发响应式网站,并且是移动优先的,针对移动设备开发的网站可以考虑使用这个框架 css中 ...
- 浏览器(BOM)对象的一些内置方法总结
浏览器(BOM)对象的一些内置方法总结 一.总结 1.bom就是浏览器那端执行的代码,dom就是服务器那端操作html的代码 2.记好bom的几个对象,那就很好理解很多代码了,也很好写很多代码了 二. ...
- Raid阵列之简单介绍
1.raid分类 软raid:用软件模拟raid芯片 硬raid:集成的后来添加的 2.raid基本简介 (1)raid是由廉价磁盘冗余阵列发展成为独立磁盘冗余阵列 (2)linux是借助MD(Mui ...
- go channel实现
go channel实现 Go语言经过多年的发展,于最近推出了第一个稳定版本.相对于C/C++来说,Go有很多独特之出,比如提供了相当抽象的工具,如channel和goroutine.本文主要介绍ch ...
- 【Hello 2018 C】Party Lemonade
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 处理出凑够2^j最少需要花费多少钱. 即试着把第i种物品买2^(j-i)个,看看会不会更便宜 记录在huafei[0..31]中 然 ...
- MyBatis学习总结(16)——Mybatis使用的几个建议
1.Mapper层参数为Map,由Service层负责重载. Mapper由于机制的问题,不能重载,参数一般设置成Map,但这样会使参数变得模糊,如果想要使代码变得清晰,可以通过service层来实现 ...
- 地道的 Python(二)
作者: Zhang Yang 列表推导 上文介绍了一个高逼格的创建字典的方法.那列表呢?依据蛋痛定律,它也一定有,可是它被起了一个很蛋痛的名字,叫列表推导: 先看看这种代码: li = [] for ...
- HDFS简单介绍及用C语言訪问HDFS接口操作实践
一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广 ...