Witam,
mam taki problem, że stworzyłem sobie tablice klocków pokolorowanych na biało. Stworzyłem sobie radiobox'a i funkcję w której to wyznaczam na jaki kolor chcę pomalować klocka. Niestety cały czas koloruje dla koloru równego 0 na żółto. Czy wie ktoś jak zrobić żeby po zmianie radiobox'a na ogon i głowę kolorowało mi na odpowiednie barwy. Nie za bardzo orientuje się dlaczego funkcja ustaw nie zmienia mi tego koloru na inny. Byłbym wdzięczny za wszelkie wskazówki
from visual import *
import wx
def ustaw(evt):
wybor=klocek.GetSelection()
if wybor==0:
kolor=0
elif wybor==1:
kolor=1
else:
kolor=2
L=800
okno=window(width=1.5*(L+window.dwidth)-100, height=L+window.dheight+window.menuheight-200, menus=True, title='Kus Mateusz - Wireworld')
n=20
scene=display(window=okno, x=25, y=25, width=5*L/8, height=5*L/8, background=(0,0,1), center=(n/2.0, n/2.0, 0), scale=(1.5/n,1.5/n,1.5/n))
pola=[[box(color=color.white, size=(1,1,1)) for col in range(n)] for row in range(n)]
for x in range(n):
for y in range(n):
pola[x][y].pos=(x*1.1,y*1.1,0)
q=okno.panel
start=wx.Button(q, label='Start', pos=(1.5*L-400, L/2))
#start.Bind(wx.EVT_BUTTON, startuj)
klocek=wx.RadioBox(q, pos=(1.5*L-400, 200), size=(0.2*L, 0.1*L),
choices = ['Przewodnik', 'Ogon', 'Glowa'], style=wx.RA_SPECIFY_ROWS)
klocek.Bind(wx.EVT_RADIOBOX, ustaw)
minx=0
miny=0
kolor=0
while True:
rate(5)
if scene.mouse.clicked:
m = scene.mouse.getclick()
loc = m.pos
min=(pola[0][0].x-loc.x)*(pola[0][0].x-loc.x)+(pola[0][0].y-loc.y)*(pola[0][0].y-loc.y)
for i in range(n):
for j in range(n):
if (pola[i][j].x-loc.x)*(pola[i][j].x-loc.x)+(pola[i][j].y-loc.y)*(pola[i][j].y-loc.y)<min:
min=(pola[i][j].x-loc.x)*(pola[i][j].x-loc.x)+(pola[i][j].y-loc.y)*(pola[i][j].y-loc.y)
minx=i
miny=j
if kolor==0:
pola[minx][miny].color=color.yellow
elif kolor==1:
pola[minx][miny].color=color.green
else:
pola[minx][miny].color=color.red