问题描述
我有一个列表,该列表存储我想在其上绘制标志的位置的值,但是该位置存储为A OR G而不是数字值,这意味着我在绘制它时遇到麻烦(无法绘制字母) ...)。我认为解决此问题的方法是为每个字母分配一个数值,然后在绘图标志函数中将其绘制为X,Y线。
for competitor,direction in random_moves():
if competitor == 'Competitor A':
turtle.penup()
if direction == 'Left':
if positions[0][2] != 'A':
positions[0][0] -= HORIZONTAL
positions[0][2] = chr(ord(positions[0][2]) - 1)
elif direction == 'Right':
if positions[0][2] != 'G':
positions[0][0] += HORIZONTAL
positions[0][2] = chr(ord(positions[0][2]) + 1)
elif direction == 'Up':
if positions[0][3] != 7:
positions[0][1] += VERTICAL
positions[0][3] += 1
elif direction == 'Down':
if positions[0][3] != 1:
positions[0][1] -= VERTICAL
positions[0][3] -= 1
turtle.setpos(positions[0][:2]) #MAKE A = 1
turtle.write('ABC',align='left',font=20)
turtle.dot(20,"blue")
occupied[0].append((positions[0][2],positions[0][3]))
我还想知道为什么turtle.write('ABC',align ='left',font = 20)和turtle.dot(20,“ blue”)命令在正确的位置可以正常工作,但是如果我尝试调用我的flag_germany函数,它将在0,0处绘制标志(不确定原因),如下所示。存储的列表值可以视为:并且必须基于另一个随机位置函数进行添加
positions = [
[-3*HORIZONTAL,3*VERTICAL,'A',7],[3*HORIZONTAL,'G',[-3*HORIZONTAL,-3*VERTICAL,1],1]
]
occupied = [ # To store the grid occupied
[('A',7)],[('G',[('A',1)],1)]
]
绘制标志功能:
def flag_germany():
penup()
color("black")
fillcolor("white")
seth(90)
# origin_x = 0
# origin_y = 0
# goto(x,y)
fillcolor("red")
seth(90)
begin_fill()
forward(90 - 4)
right(90)
forward(120 - 4)
right(90)
forward(90 - 4)
right(90)
forward(120 - 4)
right(90)
end_fill()
showturtle()
#goto(origin_x,origin_y)
# Orange Rectangle
# goto(origin_x,origin_y+86)
color("black")
begin_fill()
right(90)
forward(120 - 4)
right(-90)
forward(32 - 4)
left(90)
forward(120 - 4)
end_fill()
# goto(origin_x,origin_y)
# goto(origin_x,origin_y-4)
color("yellow")
begin_fill()
penup()
right(90)
forward(58)
pendown()
right(90)
forward(120-4)
right(90)
forward(32)
right(90)
forward(120-4)
right(90)
forward(30)
end_fill()
我一直在在我的draw flag函数中使用x和y输入,但是我目前正在尝试让它像只turtle.write('ABC',align =' left',font = 20)和turtle.dot(20,“ blue”)以前用于测试的命令。任何有关如何将国旗绘制到正确位置的想法或建议,将不胜感激:)感谢您的提前时间。抱歉,如果我发的不好的帖子也很新。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)