initial commit

This commit is contained in:
Donald Calloway 2025-11-06 09:34:51 -07:00
parent d9d6a1dcf2
commit 8fe7a51009

82
rectangle.py Normal file
View File

@ -0,0 +1,82 @@
from random import randint
import turtle
class Point:
def __init__(self, x:int, y:int):
self.x = x
self.y = y
def display_point(self):
return (self.x, self.y)
class GuiPoint(Point):
def draw(self, canvas, size=5, color="red"):
canvas.penup()
canvas.goto(self.x, self.y)
canvas.pendown()
canvas.dot(size, color)
class Rectangle:
def __init__(self, point1:Point, point2:Point):
self.point1 = point1
self.point2 = point2
def point_in_rectangle(self, point):
if self.point1.x < point.x and \
point.y < self.point2.y:
return True
else:
return False
def display_rectangle_coordinates(self):
print(f"Rectangle Coord: {self.point1.display_point()}, {self.point2.display_point()}")
def get_area(self):
return round(self.point2.x - self.point1.x) * (self.point2.y - self.point1.y)
class GuiRectangle(Rectangle):
def draw(self, canvas):
canvas.penup()
canvas.goto(self.point1.x, self.point1.y)
canvas.pendown()
canvas.forward(self.point2.x - self.point1.x)
canvas.left(90)
canvas.forward(self.point2.y - self.point1.y)
canvas.left(90)
canvas.forward(self.point2.x - self.point1.x)
canvas.left(90)
canvas.forward(self.point2.y - self.point1.y)
def main():
myturtle = turtle.Turtle()
gui_rectangle = GuiRectangle(Point(randint(0, 400), randint(0, 400)), \
Point(randint(10, 400), randint(10, 400))
)
gui_rectangle.display_rectangle_coordinates()
user_point = GuiPoint(float(input("Enter X: ")), \
float(input("Enter Y: "))
)
print(f"Your point is in the rectangle: {gui_rectangle.point_in_rectangle(user_point)}")
user_area = round(float(input("Guess the rectangle area: ")))
if gui_rectangle.get_area() > user_area:
print(f"Your guess of {user_area} was off by: {gui_rectangle.get_area() - user_area}")
else:
print(f"Your guess of {user_area} was off by: {user_area - gui_rectangle.get_area()}")
print(gui_rectangle.get_area())
gui_rectangle.draw(myturtle)
user_point.draw(myturtle)
turtle.done()
if __name__ == "__main__":
main()