用于用乌龟盖房子的Python / Jython类和方法

时间:2018-10-15 15:28:15

标签: python class methods jython

我正在为课堂布置作业,以画房子并在课堂上定义。我已经弄清楚了如何绘制房屋,如下图所示,但作业的另一部分是绘制房屋城镇并在类下定义。为此,我需要为x和y导入随机坐标并更改房屋的大小,使用w。我已经在When defining a python class, how to set a random variable in it?这个链接上搜索并找到了答案,但是我很难实现它。我通常会收到类似“错误值为: init ()的错误,它仅接受4个参数(给定2个)” 参数类型不合适。“

对此的任何帮助都将非常有用,因为我已经在此工作了几天。下面的代码反映了在没有 init 实现的情况下建造房屋的工作代码。也忽略代码底部的随机调用,仅使用它们进行测试即可。另外,我是编码的新手,上课的第四周,所以轻松一点。 :)

    import random
x =  random.randrange(5,900)
y = random.randrange(5,900)
w = random.randrange(10,150)
class SmartTurtle(Turtle):
####RANDOM NUMBER####
  x =  random.randrange(5,900)
  y = random.randrange(5,900)
  w = random.randrange(10,150)
  def drawTown(self,x,y,w):
    for i in range(1,12):
      self.drawHouse(x,y,w)
####DRAWINGTHEHOUSE####  
  def drawHouse(self,x,y,w):
####MOVETOLOCATION##########
    self.penUp()
    self.moveTo(x,y)
    self.penDown()
####SQUARE####################
    for i in range(0,4):
      self.turnRight()
      self.forward(w)
    self.turn(300)
    self.turnRight()
####TRIANGLE###############  
    for sides in range(3):
      self.forward(w)
      self.turn(120)
    self.turn(330)
earth = World(1000,1000)
tina = SmartTurtle(earth)
smarts = SmartTurtle(earth)
ab = SmartTurtle(earth)
print w
#smarts.drawRectangle(200,100)
smarts.drawTown(x,y,w)
tina.drawHouse(x,y,w)
ab.drawHouse(x,y,w)

0 个答案:

没有答案