2015-12-02 105 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