用python画中国象棋棋盘
用python画中国象棋棋盘
- 1. 导入Turtle函数库
- 2. 定义画布大小及顶点位置
- 3. 定义画笔
- 4.绘制横线
- 5. 绘制竖线
- 6. 绘制斜线
- 7. 需要调用的函数
- 8. 修饰炮和兵所在点
- 9. 绘制一个长方形外围线,设置笔的粗细
- 10. 效果图
1. 导入Turtle函数库
Turtle库是Python绘制图像的函数库,根据函数指令控制点在平面坐标系中移动,实现图形绘制。
import turtle
2. 定义画布大小及顶点位置
turtle.setup(width=800, height=880, startx=600, starty=0)
turtle.screensize(300, 300, "#D6C49E")
3. 定义画笔
t=turtle.Pen()
t.speed(5) #移动速度
t.pencolor() #颜色
t.pensize(1.5) #宽度
4.绘制横线
t.penup() #抬起
t.goto(-240,270) #起始点
t.pendown() #下笔
for i in range(1,6,1): t.forward(480) #画480pxt.penup() #抬起t.right(90) #右转90度t.forward(60) #移动60pxt.right(90) #右转90度t.pendown() #下笔t.forward(480) #画480pxt.penup() #抬起t.left(90) #左转90度t.forward(60) #移动60pxt.left(90) #左转90度t.pendown() #下笔
5. 绘制竖线
t.left(90)
t.penup()
t.forward(60)
t.pendown()
for i in range(1,5,1):t.forward(240)t.penup()t.forward(60)t.pendown()t.forward(240)t.right(90)t.forward(60)t.right(90)t.forward(240)t.penup()t.forward(60)t.pendown()t.forward(240)t.left(90)t.forward(60)t.left(90)
t.forward(540)
t.left(90)
t.forward(480)
t.left(90)
t.forward(540)
6. 绘制斜线
t.left(90)
t.forward(180)
t.left(45)
t.forward(120*1.414)
t.left(45)
t.forward(-120)
t.left(45)
t.forward(120*1.414)
t.penup()
t.goto(-60,270)
t.pendown()
t.right(180)
t.forward(120*1.414)
t.right(45)
t.forward(-120)
t.right(45)
t.forward(120*1.414)
7. 需要调用的函数
def angle(x,y):t.penup()t.goto(x+5,y+5)t.pendown()t.setheading(0) #设置当前角度朝向t.forward(5)t.goto(x+5,y+5)t.left(90)t.forward(5)t.penup()t.goto(x+5,y-5)t.pendown()t.setheading(0)t.forward(5)t.goto(x+5,y-5)t.left(90)t.forward(-5)t.penup()t.goto(x-5,y+5)t.pendown()t.setheading(0)t.forward(-5)t.goto(x-5,y+5)t.left(90)t.forward(5)t.penup()t.goto(x-5,y-5)t.pendown()t.setheading(0)t.forward(-5)t.goto(x-5,y-5)t.left(90)t.forward(-5)def a(x,y):t.penup()t.goto(x-5,y+5)t.pendown()t.setheading(0)t.forward(-5)t.goto(x-5,y+5)t.left(90)t.forward(5)t.penup()t.goto(x-5,y-5)t.pendown()t.setheading(0)t.forward(-5)t.goto(x-5,y-5)t.left(90)t.forward(-5)def v(x,y):t.penup()t.goto(x+5,y+5)t.pendown()t.setheading(0)t.forward(5)t.goto(x+5,y+5)t.left(90)t.forward(5)t.penup()t.goto(x+5,y-5)t.pendown()t.setheading(0)t.forward(5)t.goto(x+5,y-5)t.left(90)t.forward(-5)t.penup()
8. 修饰炮和兵所在点
angle(180,150)
angle(-180,150)
angle(180,-150)
angle(-180,-150)
angle(-120,90)
angle(0,90)
angle(120,90)
angle(-120,-90)
angle(0,-90)
angle(120,-90)a(240,90)
a(240,-90)
v(-240,-90)
v(-240,90)
9. 绘制一个长方形外围线,设置笔的粗细
t.penup()
t.goto(-250,-280)
t.pendown()
t.pensize(8)
t.forward(560)
t.right(90)
t.forward(500)
t.right(90)
t.forward(560)
t.right(90)
t.forward(500)
t.right(90)turtle.done()
10. 效果图
用python画中国象棋棋盘相关推荐
- 用turtle画中国象棋棋盘
刚刚学习了<Python入门教程(一)--Python语言基础视频课程>(http://edu.51cto.com/course/12194.html) 中间有道作业就是用turtle画中 ...
- 如何用Python画一个中国象棋棋盘?
今天试着画了一个中国象棋棋盘! #绘制象棋盘 import turtle t=turtle.Pen() t.speed(100) def angle(x,y): t.penup() ...
- JAVA中用程序绘制国际象棋与中国象棋棋盘
JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘.详见代码: 一.中国象棋棋盘代码 import java.awt.Font; import java.a ...
- matlab识别中国象棋棋盘,一种基于图像处理的中国象棋识别系统及方法与流程
本发明涉及计算机图像识别技术,具体涉及一种基于图像处理的中国象棋识别系统及方法. 背景技术: 数字图像处理技术在机器感知领域应用十分广泛,主要目标是通过一些图像处理技术从图像中提取信息,该信息类似于人 ...
- 中国象棋棋盘java_java绘制国际象棋与中国象棋棋盘
JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘.详见代码: 一.中国象棋棋盘代码 import java.awt.Font; import java.a ...
- 程序员大佬教你如何用python制作中国象棋!一看就会
中国象棋想必大家都玩过,突发奇想,想着怎么用python把中国国粹的中国象棋做出来呢?????? 首先老样子看看用python做出来的效果: 国粹--中国象棋 第一步:导入资源包 第二步:初始化 第三 ...
- 马踏中国象棋棋盘的贪心算法
今天上午在网上看到了一篇介绍马踏棋盘的贪心算法的文章,就想照着把它实现.可是写到一半,发现原文好像是国际象棋的棋盘.对国际象棋的规则一窍不通,所以就硬着头皮按中国象棋的规则来写.还真的写出来了. [问 ...
- java中国象棋棋盘放置棋子,JAVA简易文字版中国象棋
大二时制作的JAVA简易文字版中国象棋,现在放出,希望大家喜欢! // Java core packages import java.awt.*; import java.awt.event.*; / ...
- 如何用python画出中国地图-用Python画中国地图(二)
在上一篇文章<用Python画一个中国地图>中,我们简单描述了一下如何用Python快速画出一个中国地图的轮廓,似乎没有什么实用价值,这一次我们用实际数据填充它,使它看上去更有意义. 上色 ...
- 用Python画中国地图(二)
在上一篇文章<用Python画一个中国地图>中,我们简单描述了一下如何用Python快速画出一个中国地图的轮廓,似乎没有什么实用价值,这一次我们用实际数据填充它,使它看上去更有意义. 上色 ...
最新文章
- themleaf返回可以带目录结构
- C#多线程---Task实现异步
- 认证授权方案之授权揭秘 (上篇)
- ubuntu 安装sql_在Ubuntu上进行SQL Server安装和故障排除
- Python中Numpy数组的归一化处理
- 数据结构实验之查找一:二叉排序树 (SDUT 3373)
- 7-2 修理牧场 (25 分)
- Java 多版本JDK 环境配置 javac和java 版本不一致
- java.lang.ClassNotFoundException: net.sf.json.JSONObject
- MFC 多字节和UNICODE的相互转换(解决中文utf8-ASCNII乱码问题)
- #IP实验室,第二周复盘
- Unity内截屏实现
- php 如何添加备案号,wordpress如何添加备案信息
- php打印机,用PHP打印到打印机
- C语言基础之3:数据与C
- Sentiment Polarity Detection for Software Development
- Windows 10驱动签名_win 10驱动数字签名_驱动签名注意事项
- 【UnblockNeteaseMusic】代理网易云后隐藏NODE代理窗口方法
- 孝经白话:广要道章第十二
- android ota机制,Android OTA简介