第六周讲class
这个程序我照着屏幕上抄还抄错两个地方,花了好半天才发现是哪里抄错,中间还把注释删掉了。下次绝不会再犯这种错误。
感觉用业余时间来学习这个课程时间很紧。
import simplegui
import random
WIDTH=600
HEIGHT=400
RADIUS=5
COLOR_LIST=["Teal","Orange","White","Yellow","Red","Brown"]
DIRECTION_LIST=[[1,0],[0,1],[-1,0],[0,-1]]
class Particle:
def __init__(self, position, color):
self.position = position
self.color = color
def move(self, offset):
self.position[0]+= offset[0]
self.position[1]+= offset[1]
def draw(self, canvas):
canvas.draw_circle(self.position, RADIUS,1,self.color,self.color)
def __str__(self):
return "P with position:"+ str(self.position)+ "and color:"+ self.color
particle_list=[]
for i in range(200):
p=Particle([WIDTH/2,HEIGHT/2],random.choice(COLOR_LIST))
particle_list.append(p)
print p
print type(p)
def draw(canvas):
for p in particle_list:
p.move(random.choice(DIRECTION_LIST))
for p in particle_list:
p.draw(canvas)
frame = simplegui.create_frame("p",WIDTH,HEIGHT)
frame.set_draw_handler(draw)
frame.start()