2015-12-02 103 views
0

我应该为线段,圆形和矩形开发类,其中每个形状都应该包含一个Turtle对象和颜色以允许它在Turtle图形窗口中绘制。我将有一个主要的Shape类,其中圆形,矩形和线类是它的子类。我至今是使用class在龟中绘制形状

class Shape(object): 
"""Represents a Shape""" 

def __init__(self, width, height): 
    self._width = width 
    self._height = height 

def rectangle(self): 

我想要实现的是用户输入号码的宽度和高度,并此基础上,将龟使用这些绘制一个矩形。然后使用这些数字来绘制其他形状。因此,例如,如果我输入

Shape (100, 150) 

然后用100的宽度和高度150的矩形将绘制和或许具有1/2半径的圆的高度将被绘制。

虽然我很困惑。我似乎无法弄清楚下一步该做什么,让乌龟实际绘制矩形。谢谢你的帮助。

回答

0

那么这些都有相对简单的解决方案,但由于这是一项任务,我不会给你准确的代码,只是你需要做的一般概念。

对于圈:

龟有一个圆形的功能,看起来像turtle.circle(n)其中n为半径

对于矩形:

你有2点不错的选择:

  1. 您可以使用90度旋转,例如右或左,并以您的长度向前绘制矩形。
  2. 可以计算四角的X和Y坐标和使用goto或setpos功能去那些弯道为了

对于行:

使用goto或setpos去一个位置形成一条线或向前使用,以朝着您所面对的方向绘制一条直线。

+0

感谢您的答复但是,我已经知道了这一切的东西。我所问的更多是使用类来绘制它。就像我不确定如何把它放在我的子类的代码中,所以当我输入Shape(100,150)时,它将绘制一个带有这些参数的矩形。 – djmistaspot

+0

您需要制作方法(如类中的函数),并为每个形状使用一种或多种方法。然后你可以把你的代码放在这些方法中的每一个中,然后在init类中调用它们。你不应该为每个形状需要不同的类。 – NendoTaka

0

我正在处理完全相同的问题: 在形状下为每种不同类型的形状创建一个子类。 所以在其他代码中使用的类时,它看起来像:

shape.rectangle(width,height)<<<(depending on how you're going to have it draw the thing) 

解决方案:

class Shape(self): 
#then 
def rectangle(self, width, height): 
#instructions for making a rectangle with width and height in this case