如何用Python画一个中国象棋棋盘?

今天试着画了一个中国象棋棋盘!




#绘制象棋盘
import turtle
    
t=turtle.Pen()
t.speed(100)
def angle(x,y):
    t.penup()
    t.goto(x+3,y+3)
    t.pendown()
    t.setheading(0)
    t.forward(5)
    t.goto(x+3,y+3)
    t.left(90)
    t.forward(5)
    t.penup()
    t.goto(x+3,y-3)
    t.pendown()
    t.setheading(0)
    t.forward(5)
    t.goto(x+3,y-3)
    t.left(90)
    t.forward(-5)
    t.penup()
    t.goto(x-3,y+3)
    t.pendown()
    t.setheading(0)
    t.forward(-5)
    t.goto(x-3,y+3)
    t.left(90)
    t.forward(5)
    t.penup()
    t.goto(x-3,y-3)
    t.pendown()
    t.setheading(0)
    t.forward(-5)
    t.goto(x-3,y-3)
    t.left(90)
    t.forward(-5)
def v(x,y):
    t.penup()
    t.goto(x+3,y+3)
    t.pendown()
    t.setheading(0)
    t.forward(5)
    t.goto(x+3,y+3)
    t.left(90)
    t.forward(5)
    t.penup()
    t.goto(x+3,y-3)
    t.pendown()
    t.setheading(0)
    t.forward(5)
    t.goto(x+3,y-3)
    t.left(90)
    t.forward(-5)
    t.penup()
def a(x,y):
    t.penup()
    t.goto(x-3,y+3)
    t.pendown()
    t.setheading(0)
    t.forward(-5)
    t.goto(x-3,y+3)
    t.left(90)
    t.forward(5)
    t.penup()
    t.goto(x-3,y-3)
    t.pendown()
    t.setheading(0)
    t.forward(-5)
    t.goto(x-3,y-3)
    t.left(90)
    t.forward(-5)
#1.绘制所有横线
t.penup()
t.goto(-80,90)
t.pendown()
for i in range(1,6,1):
    t.forward(160)
    t.penup()
    t.right(90)
    t.forward(20)
    t.right(90)
    t.pendown()
    t.forward(160)
    t.penup()
    t.left(90)
    t.forward(20)
    t.left(90)
    t.pendown()
#2.绘制所有竖线
t.left(90)
t.penup()
t.forward(20)
t.pendown()
for i in range(1,5,1):
    t.forward(80)
    t.penup()
    t.forward(20)
    t.pendown()
    t.forward(80)
    t.right(90)
    t.forward(20)
    t.right(90)
    t.forward(80)
    t.penup()
    t.forward(20)
    t.pendown()
    t.forward(80)
    t.left(90)
    t.forward(20)
    t.left(90)
t.forward(180)
t.left(90)
t.forward(160)
t.left(90)
t.forward(180)
#3.绘制斜线
t.left(90)
t.forward(60)
t.left(45)
t.forward(40*1.414)
t.left(45)
t.forward(-40)
t.left(45)
t.forward(40*1.414)
t.penup()
t.goto(-20,90)
t.pendown()
t.right(180)
t.forward(40*1.414)
t.right(45)
t.forward(-40)
t.right(45)
t.forward(40*1.414)
#4.绘制炮和兵的位置
angle(60,50)
angle(-60,50)
angle(60,-50)
angle(-60,-50)
angle(40,30)
angle(-40,30)
angle(40,-30)
angle(-40,-30)
angle(0,30)
angle(0,-30)


a(80,30)
a(80,-30)
v(-80,-30)
v(-80,30)
#5.绘制外围线   绘制一个长方形,设置笔的粗细
t.penup()
t.goto(-90,-100)
t.pendown()
t.pensize(10)
t.forward(200)
t.right(90)
t.forward(180)
t.right(90)
t.forward(200)
t.right(90)
t.forward(180)
t.right(90)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值