Untitled
unknown
plain_text
a year ago
1.4 kB
12
Indexable
import turtle
class Rectangle:
def __init__(self, x, y, width, height):
self.x = x
self.y = y
self.width = width
self.height = height
def getArea(self):
return self.width * self.height
def getPerimeter(self):
return 2 * (self.width + self.height)
def move(self, newX, newY):
self.x, self.y = newX, newY
def intersect(self, rec):
left = max(self.x, rec.x)
right = min(self.x + self.width, rec.x + rec.width)
top = min(self.y, rec.y)
bottom = max(self.y - self.height, rec.y - rec.height)
if right <= left or top <= bottom:
return None
return Rectangle(left, top, right - left, top - bottom)
def draw(self):
turtle.penup()
turtle.goto(self.x, self.y)
turtle.setheading(0)
turtle.pendown()
for d in [self.width, -self.height, -self.width, self.height]:
turtle.forward(d)
turtle.right(90)
turtle.penup()
def main():
screen = turtle.Screen()
screen.setup(900, 700)
screen.title("Rectangles")
turtle.hideturtle()
turtle.speed(0)
turtle.pensize(2)
a = Rectangle(-170, 150, 140, 260)
b = Rectangle(-20, 70, 300, 260)
a.draw()
b.draw()
c = a.intersect(b)
if c:
c.draw()
turtle.done()
if __name__ == "__main__":
main()Editor is loading...
Leave a Comment