## 2019年3月28日木曜日

### 数学 - Python - BLAZING YOUR OWN TRAIL - BUILDING OBJECTS WITH CLASSES - CREATING BALLS OF DIFFERENT SIZES - random

Math Adventures with Python: An Illustrated Guide to Exploring Math with Code (Peter Farrell(著)、No Starch Press)のPART 3(BLAZING YOUR OWN TRAIL)、9(BUILDING OBJECTS WITH CLASSES)、EXERCISE 9-1(CREATING BALLS OF DIFFERENT SIZES)の解答を求めてみる。

コード

Python 3

```class Ball:
def __init__(self, x, y):
self.x = x
self.y = y
self.x_velocity = random(-2, 2)
self.y_velocity = random(-2, 2)
self.color = color(*[random(255) for _ in range(3)])
self.size = random(5, 50)

def update(self):
self.x += self.x_velocity
self.y += self.y_velocity
if self.x > width or self.x < 0:
self.x_velocity *= -1
if self.y > height or self.y < 0:
self.y_velocity *= -1
fill(self.color)
ellipse(self.x, self.y, self.size, self.size)

balls = []

def setup():
global balls
size(960, 515)
for i in range(20):
balls.append(Ball(random(width), random(height)))

def draw():
global balls
background(0)
for ball in balls:
ball.update()
```