グラフィックの作成_孫と遊ぶためのPython日記(12)

図形を動かすコードの基礎学習が進んだので、そろそろ迷路を作りたいが、
迷路そのものの作り方がわからない。困ったのでまた参考書を購入した。

まだ勉強途中なので分からないことばかりだが、この本にはほとんど解答らしいものが書いてある。最終的にはボールが自己判断して経路を見つけてゴールにたどり着けるようにしたい。アルゴリズムはグラフの木のノードを利用して二分探索木を参考に作れないかと考えている。

そろそろpythonコードの夜が明けるかもしれない。
でもまだglobalコードがうまく使えない。
今日のコードは定義が入れ子になっていて気持ちが悪い。
備忘録として16進数の文字への変換にはformat()とhex()[]を使ってみた。

##--------本日のコード:色を付けた円の作成とマウスによる移動----
import sys
import tkinter

'''
yasui_swift 2017/6/19
slider_move_oval.py
scaleで色を設定し
マウスでドラッグできる円のコード
'''
root =tkinter.Tk()
c = tkinter.Canvas(root, width = 400, height = 400)
c.pack()

def color_rgb(n):
________color_r = str(format(int(scale1.get()*255),'x'))
________if color_r == "0":
_______________color_r = "00"
________color_g =str( hex(int(scale2.get()*255))[2:])
________if color_g == "0":
_______________color_g = "00"
________color_b =str( hex(int(scale3.get()*255))[2:])
________if color_b == "0":
_______________color_b = "00"
________color_rgb = "#" + str(color_r)+str(color_g)+str(color_b)
________label.config(bg = color_rgb)
________id = c.create_oval(185,185,215,215,fill = color_rgb)
________def move_oval(event):
_______________x = event.x
_______________y = event.y
_______________c.coords(id,x-15,y-15,x+15,y+15)
________c.tag_bind(id, '', move_oval)

label = tkinter.Label(root,text = 'press button',fg = '#00ffff',bg = '#000000')
label.pack()

scale1 = tkinter.Scale(root,label = 'label color Red', orient = 'h',from_=0.0,to = 1.0,resolution = 0.1,command = color_rgb)
scale1.pack()

scale2 = tkinter.Scale(root,label = 'label color Green', orient = 'h',from_=0.0,to = 1.0,resolution = 0.1,command = color_rgb)
scale2.pack()

scale3 = tkinter.Scale(root,label = 'label color Blue', orient = 'h',from_=0.0,to = 1.0,resolution = 0.1,command = color_rgb)
scale3.pack()

button1 = tkinter.Button(root,text = 'Exit',command = sys.exit)
button1.pack()

root.mainloop()