2 files modified
2 files added
New file |
| | |
| | | from turtle import Turtle |
| | | |
| | | |
| | | class PolygonDrawer: |
| | | def __init__(self, t: Turtle): |
| | | self.t = t |
| | | |
| | | def __regular_polygon(self, corner_number, length, x, y): |
| | | alpha = 360 / corner_number |
| | | head = self.t.heading() |
| | | self.t.teleport(x,y) |
| | | for i in range(0, corner_number): |
| | | self.t.forward(length) |
| | | self.t.left(alpha) |
| | | self.t.setheading(head) |
| | | pass |
| | | |
| | | def triangle(self, length, x, y): |
| | | self.__regular_polygon(3, length, x, y) |
| | |
| | | self.setheading(head) |
| | | pass |
| | | |
| | | |
| | | def __regular_polygon(self, corner_number, length, x, y): |
| | | alpha = 360 / corner_number |
| | | head = self.heading() |
| | |
| | | self.setheading(head) |
| | | pass |
| | | |
| | | |
| | | def pentagon(self, length, x, y): |
| | | self.__regular_polygon(6, length, x, y) |
| | | pass |
| | |
| | | from turtlegeo.PolygonDrawer import PolygonDrawer |
| | | from turtlegeo.TtGeo import TtGeo |
| | | from turtle import Turtle |
| | | |
| | | t = Turtle() |
| | | |
| | | |
| | | def main(): |
| | | t = TtGeo() |
| | | t.triangle(50, 20, 25) |
| | | t.pentagon(60, 20, 25) |
| | | |
| | | #t = TtGeo() |
| | | #t.triangle(50, 20, 25) |
| | | #t.pentagon(60, 20, 25) |
| | | d = PolygonDrawer(t) |
| | | d.triangle(20, 0, 0) |
| | | input("Dummy") |
| | | t.screen.mainloop() |
New file |
| | |
| | | import unittest |
| | | |
| | | from turtlegeo.PolygonDrawer import PolygonDrawer |
| | | |
| | | class MotionRedording: |
| | | def __init__(self): |
| | | self._motion = [] |
| | | self._heading = 60 |
| | | |
| | | def heading(self): |
| | | self._motion.append("heading") |
| | | return self._heading |
| | | |
| | | def teleport(self, x, y): |
| | | self._motion.append(f"teleport:{x},{y}") |
| | | |
| | | def forward(self, length): |
| | | pass |
| | | |
| | | def left(self, degree): |
| | | pass |
| | | |
| | | def setheading(self, head): |
| | | pass |
| | | |
| | | def motion(self): |
| | | return self._motion |
| | | |
| | | |
| | | class PolygonDrawerTestCase(unittest.TestCase): |
| | | def test_triangle(self): |
| | | dummyTurtle = MotionRedording() |
| | | t = PolygonDrawer(dummyTurtle) |
| | | t.triangle(30, 3, 4) |
| | | # print(dummyTurtle.motion()) |
| | | result = dummyTurtle.motion() |
| | | # Test kriterien gegenüber result fomulieren |
| | | pass |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | | unittest.main() |