Untitled

 avatar
unknown
plain_text
10 months 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