-
Notifications
You must be signed in to change notification settings - Fork 0
/
Circle.pde
64 lines (56 loc) · 1.11 KB
/
Circle.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/**
Class definition for Circle
- Implements the Moving and Bounceable interfaces.
*/
class Circle implements Moving{
/**
Data fields for the Rectangle class, describing location, dimensions, and velocity.
*/
float x;
float y;
float w;
float x_velocity;
float y_velocity;
color c;
/**
Constructor for a non-moving Rectangle.
*/
public Circle(float x, float y, float r){
this(x,y,r,0,0);
}
/**
Constructor for a moving Rectangle.
*/
public Circle(float x, float y, float w, float x_vel, float y_vel){
this.x = x;
this.y = y;
this.w = w;
c = #FFFFFF;
this.x_velocity = x_vel;
this.y_velocity = y_vel;
}
/**
Displays the rectangle on the canvas.
*/
public void show(){
this.move();
fill(c);
circle(x, y, w);
}
/**
Changes the color of this shape.
@param Color object
*/
public void changeColor(color c){
this.c = c;
}
/**
Implements the interface method move().
Moves the rectangle according to its velocity fields.
*/
@Override
void move(){
x+=x_velocity;
y+=y_velocity;
}
}