DQN学习(1)注解maze代码

学习自莫烦python(b站搜得到),可以自行去GitHub去找源代码,这个只是用来方便我分类管理自己的博客才公开的。

sys.version_info.major :#查看版本号
import Tkinter as tk#重命名Tkinter,且后面调用时只能使用重命名后的名字
#注:Tkinter 是使用 python 进行窗口视窗设计的模块
NumPy是Python的一种开源的数值计算扩展

def=define 定义一个函数
init # python中类的专有函数:构造函数,生成对象时调用
super(Maze, self).init() 调用super函数,解决构造方法中的初始值无法继承的问题
len() :返回对象(列表,数组,字符串)的长度或者项目个数;
canvas属于Tkinter模块下,函数意义是生成一个画布
bg=background 指定背景颜色
geometry属于Tkinter模块下,函数意义是指定主框体大小;
format函数格式化函数

range函数
函数原型:range(start, end, step)
注:start是可取的,end是不可取

x0, y0, x1, y1 = c, 0, c, MAZE_H * UNIT
self.canvas.create_line(x0, y0, x1, y1)
这两行代码主要实现的是画出一条直线,后面()中给的参数就是线段两点的坐标,两点确定一条直线吗。此处给的就是从坐标(c,0)到(c,MAZE_H * UNIT)画一条直线。

np.array=numpy.array 创建一个多维数组
python里一般数组用list就可以代替
list与array的区别:
1.list是python的内置数据类型,数组需要导入标准库才行,不属于内置类型。
2.list中的数据类不必相同的,而array的中的类型必须全部相同

Red rectangle: explorer.
Black rectangles: hells [reward = -1].
hell1[(85,45),(115,75)],hell2[(45,85),(75,115)]
Yellow bin circle: paradise [reward = +1].
reward[(85,85),(115,115)]
All other states: ground [reward = 0].
hell译为地狱,此处应该是陷阱的意思,对应Black rectangles
paradise译为天堂,此处应该是期望,对应Yellow bin circle
observation[(5,5),(35,35)]

tkinter 的布局管理 (被称作 layout managers 或 geometry managers).
tkinter 有三种布局管理方式: 1.pack 2.grid 3.place
x.pack将x添加进画布

update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中
X.update(key/value)
update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。
d.update(e)
将e中键-值对添加到字典d中,e可能是字典,也可能是键-值对序列,无返回值。

time.sleep(t)让程序休眠t秒,为了使多次移动变得可视
canvas.delete(x)删除画布中的x
canvas.coords获取某个对象在画布的坐标,返回一个数组(两个坐标,左上角的坐标和右下角的两个坐标)
move移动一个坐标,
move(x,x1,y1),其中x为所要移动的对象,x1为横坐标移动到x1,y1为纵坐标移动到y1
elif x in y 即x是否在y中

你可能感兴趣的:(DQN学习(1)注解maze代码)