赞
踩
- #引入turtle中的函数,这种形式是引用出全部的函数
- from turtle import *
-
- #turtle 的速度介于0到10之间,0最快
- speed(0)
- tracer(10)#快速作出
- #建立窗体
- setup(500, 600)
- #设置每个格子大小
- width = 50
- #设置画布
- screensize(10 * width , 12 * width )
-
- #起始坐标
- x=-200
- y=-200
- penup()
- goto(x,y)
- pendown()
-
- #画出边框
- fillcolor('orange')
- begin_fill()
- for i in range(2):
- forward(8 * width + 2 * width // 5)
- left(90)
- forward(9 * width + 2 * width // 5)
- left(90)
- end_fill()
- x = x + width / 5
- y = y + width / 5
-
- #棋盘横线
- for i in range(10):
- penup()
- goto(x,y + i * width)
- pendown()
- forward(8 * width)
- penup()
- left(90)
-
- #棋盘竖线
- for i in range(9):
- goto(x+i * width,y)
- pendown()
- forward(4 * width)
- penup()
- forward(width)
- pendown()
- forward(4 * width)
- penup()
-
- #绘制棋府
- def drawCamp(x,y,width):
- home()#将坐标移到原点
- goto(x + 3 * width,y)
- left(45)
- pendown()
- forward(2 ** 0.5 * width * 2)
- penup()
- goto(x + 3 * width,y + 2 * width)
- right(90)
- pendown()
- forward(2 ** 0.5 * width * 2)
- penup()
- drawCamp(x,y,width)
- drawCamp(x,y + 7 * width,width)
-
- #绘制兵炮标记
- def drawMark(x,y):
- home()
- penup()
- goto(x-9,y+3)
- for i in range(4):
- pendown()
- forward(6)
- left(90)
- forward(6)
- right(90)
- penup()
- forward(6)
- pendown()
- right(90)
- penup()
- #兵
- for i in range(5):
- drawMark(x+i*2*width,y+3*width)
- drawMark(x+i*2*width,y+6*width)
- #炮
- for i in range(2):
- drawMark(x+(i*6+1)*width,y+2*width)
- drawMark(x+(i*6+1)*width,y+7*width)
- #绘制棋子
-
- #画圆
- def drawCircle(radius):
- pensize(3)
- begin_fill()
- fillcolor('white')
- circle(radius)
- end_fill()
-
- #写字
- list = [['車', '馬', '相', '仕', '帅', '仕', '相', '馬', '車','兵','炮'], ['車', '馬', '象', '士', '将', '士', '象', '馬', '車','卒','炮']]
- fontColor=['red','black']#列表引用时用[]
- def drawWrite(word,fontColor):
- color(fontColor)
- write(word,font=('隶书',width//2,'normal'))
-
- home()
- goto(x+7/4*width,y+17/4*width)
- pendown()
- pencolor('black')
- write("楚 河 汉 界",font=('隶书',width//2,'normal'))
- for j in range(2):
- #后卫
- for i in range(9):
- penup()
- goto(x+i*width,y-1/4*width+9*j*width)
- pendown()
- pencolor(fontColor[j])
- drawCircle(1/3*width)
- penup()
- goto(x+i*width-1/3*width,y-1/4*width+9*j*width)
- pendown()
- drawWrite(list[j][i],fontColor[j])
- #炮
- for j in range(2):
- for i in range(2):
- penup()
- goto(x + width+6*i*width, y + 2 * width-1/4*width + 5 * j * width)
- pendown()
- pencolor(fontColor[j])
- drawCircle(1 / 3 * width)
- penup()
- goto(x+2/3*width+6*i*width,y+2*width-1/4*width+j*5*width)
- pendown()
- drawWrite(list[j][10], fontColor[j])
- #兵
- for j in range(2):
- for i in range(5):
- penup()
- goto(x+2*i*width,y+3*width-1/4*width+3*j*width)
- pendown()
- pencolor(fontColor[j])
- drawCircle(1 / 3 * width)
- penup()
- goto(x+2*i*width-1/3*width,y+3*width-1/4*width+3*j*width)
- pendown()
- drawWrite(list[j][9], fontColor[j])
- hideturtle()
- exitonclick()#该语句让程序等待用户点击界面后才能够退出
效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。