我试图制作游戏"选择颜色而不是单词"在Python中。 有9种不同颜色的列表:
cnames = [" green ", " blue ", " yellow ", " gray ", " pink ", " orange ", " purple ", " red ", " brown "]
我写了一个随机化这些颜色的函数:
def randomize():
import random
cnames=["green", "blue","yellow", "grey", "pink", "orange", "Purple", "red", "brown"]
color=randint(0, len (cnames)-1)
cname=randint(0, len(cnames)-1)
from random import sample
other_cnames=random.sample(range(len(cnames)),6)
return (color, cname, other_cnames)
游戏窗口的代码是:
win=GraphWin("New_game", 800,800)
color, cname, other_names=randomize()
rcname=cnames[cname]
rcname=rcname [0].upper() + rcname[1:]
target=Text(Point(300,100),rcname)
target.setOutline(cnames[color])
target.setStyle ("bold")
target.setSize(24)
target.draw(win)
Boxes=[]
k=0
如何制作一个用文本对象填充列表框的循环,其中每个文本对象代表一种颜色和颜色的数量(0到8)?
结果应如下所示: enter image description here
答案 0 :(得分:0)
您可以使用for语句多次迭代代码以填充以下框:
for x in range(*insert number of boxes*):
*put other code here*
如果只是将范围放在
中,这将填满答案 1 :(得分:0)
如果您想要在不选择颜色的情况下返回颜色和颜色列表,则不完全确定您要求的内容。
cnames = ['green', 'blue'...]
从列表中选择一种颜色使用random.choice
color = random.choice(cnames)
获取其他颜色初始化新列表并按索引弹出
other_colors = list(cnames)
other_colors.pop(colors.index(color))
返回所选颜色和其他颜色
return color, other_colors
在graphwin中
color, other_colors = randomize()
ucolor = '{0}{1}'.format(color[0].upper(), color[1:])
target = Text(Point(300,100),ucolor)
target.setOutline(color)
...
Boxes = other_colors #