我正试着用我做的旧国旗做一个垂直的美国国旗,但我不知道该怎么做,因为我已经有一段时间没有这么做了
这是代码本身,它是一面美国国旗。我想知道如何使这张图片垂直
海军站在哪一边都不重要,只要线路断了,我试着改变一些数字,但结果到处都是
import turtle
import time
screen = turtle.getscreen()
screen.bgcolor("white")
oogway = turtle.Turtle()
oogway.speed(10)
oogway.penup()
oogway.shape("turtle")
flag_height = 250
flag_width = 475
start_x = -237
start_y = 125
stripe_height = flag_height/13
stripe_width = flag_width
star_size = 10
def draw_fill_rectangle(x, y, height, width, color):
oogway.goto(x,y)
oogway.pendown()
oogway.color(color)
oogway.begin_fill()
oogway.forward(height)
oogway.forward(90)
oogway.forward(width)
oogway.right(90)
oogway.forward(width)
oogway.right(90)
oogway.forward(height)
oogway.right(90)
oogway.end_fill()
oogway.penup()
def draw_star(x,y,color,length) :
oogway.goto(x,y)
oogway.setheading(0)
oogway.pendown()
oogway.begin_fill()
oogway.color(color)
for turn in range(0,5) :
oogway.forward(length)
oogway.right(144)
oogway.forward(length)
oogway.right(144)
oogway.end_fill()
oogway.penup()
def draw_stripes():
x = start_x
y = start_y
for stripe in range(0,6):
for color in ["red", "white"]:
draw_fill_rectangle(x, y, stripe_height, stripe_width, color)
y = y - stripe_height
draw_fill_rectangle(x, y, stripe_height, stripe_width, 'red')
y = y - stripe_height
def draw_square():
square_height = 133
square_width = 185
draw_fill_rectangle(start_x, start_y, square_height, square_width, 'navy')
def draw_six_stars_rows():
gap_between_stars = 30
gap_between_lines = stripe_height + 6
y = 112
# create 5 rows of stars
for row in range(0,5) :
x = -222
# create 6 stars in each row
for star in range (0,6) :
draw_star(x, y, 'white', star_size)
x = x + gap_between_stars
y = y - gap_between_lines
def draw_five_stars_rows():
gap_between_stars = 30
gap_between_lines = stripe_height + 6
y = 100
# create 4 rows of stars
for row in range(0,4) :
x = -206
# create 5 stars in each row
for star in range (0,5) :
draw_star(x, y, 'white', star_size)
x = x + gap_between_stars
y = y - gap_between_lines
# start after 5 seconds.
time.sleep(5)
# draw 13 stripes
draw_stripes()
# draw squares to hold stars
draw_square()
# draw 30 stars, 6 * 5
draw_six_stars_rows()
# draw 20 stars, 5 * 4. total 50 stars representing 50 states of USA
draw_five_stars_rows()
# hide the cursor/turtle
oogway.hideturtle()
# keep holding the screen until closed manually
screen.mainloop()
在我们讨论垂直标志问题之前,让我们重新讨论一下水平标志问题。您的代码给人一种错误的印象,认为它可以根据需要调整标志的大小:
但有太多的嵌入数字,无法让这种情况发生:
因此,让我们重写您的代码,绘制一个没有所有嵌入数字的水平标志:
现在我们已经抽象了代码,将标志垂直旋转就是将默认的0度航向替换为270度,翻转一些contant上的符号,并在
goto()
调用中反转x和y:相关问题 更多 >
编程相关推荐