CSCI 110, Spring 2011

    Home | | Course Schedule | | Assignments | | Lecture Notes

    Lab 6 solution

    Problem 1:

    #Program: sierpinski.py
    #Author: Brenda Student
    #Class: CSCI 110
    #Date: 3/18/11
    #Purpose: Use recursion to draw the Sierpinski gasket
    
    from turtle import Pen as Turtle
    
    def drawTriangle(myTurtle, size):
        myTurtle.forward(size)
        myTurtle.left(120)
        myTurtle.forward(size)
        myTurtle.left(120)
        myTurtle.forward(size)
        myTurtle.left(120)
    
    def sierpinski(myTurtle, size, level):
        if level <= 0:
            drawTriangle(myTurtle, size)
        else:
            sierpinski(myTurtle, size/2, level-1)
            myTurtle.forward(size/2)
            sierpinski(myTurtle, size/2, level-1)
            myTurtle.backward(size/2)
            myTurtle.left(60)
            myTurtle.forward(size/2)
            myTurtle.right(60)
            sierpinski(myTurtle, size/2, level-1)
            myTurtle.left(60)
            myTurtle.backward(size/2)
            myTurtle.right(60)
    
    #begin program
    yertle = Turtle( )
    sierpinski(yertle, 100, 3)
    


    Problem 2:

    #Program: heroClass.py
    #Author: Brenda Student
    #Class: CSCI 110
    #Date: 3/18/11
    #Assignment: Lab 6
    #Purpose: Create a hero class to keep track of hero's health.
    #         Also allows the hero to attack a troll.
    
    class Hero:
        health = 10
    
        def __init__(self, heroName):
            self.name = heroName
    
        def __str__(self):
             return "I am the hero, " + self.name
    
        def attack_troll(self):
            print self.name + " has attacked a troll."
            self.health = self.health - 2
            print self.name + " now has", self.health, "health points."
    
    heroName = raw_input("Please enter the hero's name: ")
    myHero = Hero(heroName)
    print myHero
    myHero.attack_troll( )