使用类在乌龟中绘制形状

时间:2015-12-02 16:01:52

标签: python python-3.x

我应该为线段,圆形和矩形开发类,其中每个形状应包含一个Turtle对象和颜色,以允许它在Turtle图形窗口中绘制。我将有一个主要的Shape类,其中circle,rectangle和line类是它的子类。到目前为止我所拥有的是

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的圆形。

但是,我很难过。我似乎无法弄清楚接下来要做什么让乌龟实际绘制矩形。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

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

对于圈子:

Turtle有一个圆形函数,看起来像turtle.circle(n),其中n是半径

对于矩形:

您有两个不错的选择:

  1. 您可以使用90度转弯,例如向右或向左转动,并使用您的长度向前绘制矩形。
  2. 你可以计算出四个角落。 x和y坐标并使用goto或setpos函数按顺序转到那些角落
  3. 对于这一行:

    使用goto或setpos转到构成直线的位置或使用向前沿您所面向的方向绘制直线。

答案 1 :(得分: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