如何用python turtle画一个中国象棋的棋盘?
发布网友
发布时间:2022-04-19 14:54
我来回答
共2个回答
热心网友
时间:2024-03-03 06:22
#绘制棋盘,每个格子50
import turtle
t=turtle.Pen()
bs=50
#画直线
def line(x,y,z):
t.penup()
t.goto(x,y)
t.pendown()
t.fd(z)
#两点直线
def any(a,b,c,d):
t.penup()
t.goto(a,b)
t.pendown()
t.goto(c,d)
#画L型
def typeL(x,y):
t.penup()
t.goto(x-bs*0.25, y+bs*0.075)
t.pendown()
t.goto(x-bs*0.075, y+bs*0.075)
t.goto(x - bs*0.075, y + bs*0.25)
t.penup()
t.goto(x - bs*0.25, y - bs*0.075)
t.pendown()
t.goto(x - bs*0.075, y - bs*0.075)
t.goto(x - bs*0.075, y - bs*0.25)
t.penup()
t.goto(x+bs*0.25, y+bs*0.075)
t.pendown()
t.goto(x+bs*0.075, y+bs*0.075)
t.goto(x + bs*0.075, y + bs*0.25)
t.penup()
t.goto(x + bs*0.25, y - bs*0.075)
t.pendown()
t.goto(x + bs*0.075, y - bs*0.075)
t.goto(x + bs*0.075, y - bs*0.25)
#画半L型
def typehL(x,y,z):
if(z=='l'):
t.penup()
t.goto(x-bs*0.25, y+bs*0.075)
t.pendown()
t.goto(x-bs*0.075, y+bs*0.075)
t.goto(x - bs*0.075, y + bs*0.25)
t.penup()
t.goto(x - bs*0.25, y - bs*0.075)
t.pendown()
t.goto(x - bs*0.075, y - bs*0.075)
t.goto(x - bs*0.075, y - bs*0.25)
if(z=='r'):
t.penup()
t.goto(x + bs*0.25, y + bs*0.075)
t.pendown()
t.goto(x + bs*0.075, y + bs*0.075)
t.goto(x + bs*0.075, y + bs*0.25)
t.penup()
t.goto(x + bs*0.25, y - bs*0.075)
t.pendown()
t.goto(x + bs*0.075, y - bs*0.075)
t.goto(x + bs*0.075, y - bs*0.25)
#画横线
p=bs*4.5
while(p>=-bs*4.5):
line(-bs*4,p,bs*8)
p=p-bs
any(bs*4,bs*4.5,bs*4,-bs*4.5)
any(-bs*4,bs*4.5,-bs*4,-bs*4.5)
t.right(90)
q=-bs*3
while(q<bs*4):
line(q,bs*4.5,bs*4)
q=q+bs
q=-bs*3
while(q<bs*4):
line(q,-bs*0.5,bs*4)
q=q+bs
#画斜线
any(-bs,-bs*4.5,bs,-bs*2.5)
any(bs,-bs*4.5,-bs,-bs*2.5)
any(-bs,bs*4.5,bs,bs*2.5)
any(bs,bs*4.5,-bs,bs*2.5)
#画L型
typeL(-bs*2,-bs*1.5)
typeL(0,-bs*1.5)
typeL(bs*2,-bs*1.5)
typeL(-bs*2,bs*1.5)
typeL(0,bs*1.5)
typeL(bs*2,bs*1.5)
typeL(-bs*3,-bs*2.5)
typeL(bs*3,-bs*2.5)
typeL(-bs*3,bs*2.5)
typeL(bs*3,bs*2.5)
typehL(-bs*4,-bs*1.5,'r')
typehL(bs*4,-bs*1.5,'l')
typehL(-bs*4,bs*1.5,'r')
typehL(bs*4,bs*1.5,'l')
turtle.done()
热心网友
时间:2024-03-03 06:23
这个要收费的😂简单问题免费解答,小程序就不能无偿给你写了