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 ...
随机推荐
- 华为OJ平台试题 ——数组:整形数组合并
代码: /* * 将两个整型数组依照升序合并,而且过滤掉反复数组元素 */ #include <stdio.h> #define N 256 #define M 512 /* * 合并数组 ...
- 机器学习完整过程案例分布解析,python代码解析
所谓学习问题,是指观察由n个样本组成的集合,并依据这些数据来预測未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.如果如今有一个O2O领域的 ...
- Linux经常使用命令(十六) - whereis
whereis命令仅仅能用于程序名的搜索(程序安装在哪?).并且仅仅搜索二进制文件(參数-b).man说明文件(參数-m)和源码文件(參数-s). 假设省略參数,则返回全部信息. 和find相比.wh ...
- RvmTranslator6.0 - Dassault Systemes 3DXML
RvmTranslator6.0 - Dassault Systemes 3DXML eryar@163.com 1. Introduction RvmTranslator can translate ...
- js---14公有私有成员方法
var ns1 = {}; //命名空间 ns1.ns11 = {};//子命名空间 ns1.module1 = {name:"a",m:function(){}}; consol ...
- 基于Linux平台的Openvas配置使用视频教学
常见的漏洞扫描工具有Openvas.LSAT.Nessus.X-scan.ShadowSecurityScanner和流光等,openvas是一款最全面的开源漏洞扫描工具,由于openvas安装比较困 ...
- Exercise: PCA in 2D
Step 0: Load data The starter code contains code to load 45 2D data points. When plotted using the s ...
- 常用的130个vim命令
最近VIM用的也越来越多了...因为确实在慢慢的把win下的编辑习惯转成unix下的编辑习惯..._vimrc也在不断的完善中先贴一下平时在VIM中使用中的命令...有很多也是我没有掌握的 (估计也是 ...
- python的循环测试
这段代码要实现的是:猜数字58 ,猜三次,三个判断条件和一个结束条件.判断为等于58的时候跳出循环. 首先定义一个固定变量 int 函数是更改input输入的文字类型 if guess_age == ...
- 【UML】UML在软件开发各个阶段的应用
一.UML5个互联视图 UML中经常使用5个互联的视图来描写叙述系统的体系结构. 如图 (1)用例视图(Use-case View) 由专门描写叙述可被终于用户.分析人员.測试人员看到的系统行为的用例 ...