generated from mwc/problemset_typeface
A-D using functions for straight, diagonal and
lift and move of pen. After walking through the steps to create the letter A I was excited to see the steps that I was repeating and how much easier to understand and follow the code would be by using functions to simplify.
This commit is contained in:
parent
3aa61be55e
commit
ab8229391c
114
typeface.py
114
typeface.py
|
@ -1,5 +1,5 @@
|
|||
# typeface.py
|
||||
# By Chris Proctor and _________
|
||||
# By Chris Proctor and Hope Wright
|
||||
|
||||
# Contains one function for each letter in the English alphabet.
|
||||
# Each function should draw its letter at a scale of `unit`, and then
|
||||
|
@ -12,17 +12,121 @@
|
|||
from turtle import *
|
||||
from math import sqrt
|
||||
|
||||
def lift_and_move(units_moved, unit):
|
||||
|
||||
penup()
|
||||
forward(units_moved*unit)
|
||||
pendown()
|
||||
|
||||
def straight_n_turn(units_moved, direction, degree, unit):
|
||||
|
||||
for i in range(units_moved):
|
||||
forward(unit)
|
||||
if direction == "r":
|
||||
right(degree)
|
||||
else:
|
||||
left(degree)
|
||||
|
||||
def diagonal_n_turn(units_moved, direction, degree, unit):
|
||||
for i in range(units_moved):
|
||||
forward((unit*(sqrt(2))))
|
||||
if direction == "r":
|
||||
right(degree)
|
||||
else:
|
||||
left(degree)
|
||||
|
||||
|
||||
def draw_letter_a(unit):
|
||||
pass
|
||||
lift_and_move(1, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(3, "r", 90, unit)
|
||||
straight_n_turn(2, "r", 90, unit)
|
||||
straight_n_turn(3, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(6, "l", 45, unit)
|
||||
diagonal_n_turn(2, "l", 45, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
lift_and_move(3, unit)
|
||||
straight_n_turn(1, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(1, "l", 45, unit)
|
||||
diagonal_n_turn(1, "l", 90, unit)
|
||||
diagonal_n_turn(1, "r", 135, unit)
|
||||
lift_and_move(3, unit)
|
||||
left(135)
|
||||
diagonal_n_turn(2, "l", 45, unit)
|
||||
straight_n_turn(6, "r", 90, unit)
|
||||
lift_and_move(1, unit)
|
||||
right(180)
|
||||
|
||||
|
||||
def draw_letter_b(unit):
|
||||
pass
|
||||
lift_and_move(1, unit)
|
||||
straight_n_turn(5, "l", 90, unit)
|
||||
straight_n_turn(3, "l", 45, unit)
|
||||
diagonal_n_turn(1, "r", 90, unit)
|
||||
diagonal_n_turn(1, "l", 45, unit)
|
||||
straight_n_turn(3, "l", 90, unit)
|
||||
straight_n_turn(5, "l", 90, unit)
|
||||
straight_n_turn(8, "l", 90, unit)
|
||||
straight_n_turn(3, "l", 90, unit)
|
||||
lift_and_move(1, unit)
|
||||
forward(unit*2)
|
||||
lift_and_move(2, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(1, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(1, "r", 90, unit)
|
||||
lift_and_move(2, unit)
|
||||
right(90)
|
||||
straight_n_turn(1, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(1, "r", 90, unit)
|
||||
lift_and_move(1, unit)
|
||||
right(90)
|
||||
lift_and_move(4, unit)
|
||||
right(180)
|
||||
|
||||
|
||||
def draw_letter_c(unit):
|
||||
pass
|
||||
lift_and_move(3, unit)
|
||||
straight_n_turn(4, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(3, "r", 45, unit)
|
||||
diagonal_n_turn(1, "r", 45, unit)
|
||||
straight_n_turn(2, "r", 45, unit)
|
||||
diagonal_n_turn(1, "r", 45, unit)
|
||||
straight_n_turn(3, "l", 90, unit)
|
||||
straight_n_turn(2, "l", 90, unit)
|
||||
straight_n_turn(4, "l", 45, unit)
|
||||
diagonal_n_turn(2, "l", 45, unit)
|
||||
straight_n_turn(4, "l", 45, unit)
|
||||
diagonal_n_turn(2, "l", 45, unit)
|
||||
right(180)
|
||||
lift_and_move(3, unit)
|
||||
right (180)
|
||||
|
||||
|
||||
def draw_letter_d(unit):
|
||||
pass
|
||||
lift_and_move(1, unit)
|
||||
straight_n_turn(4, "l", 45, unit)
|
||||
diagonal_n_turn(2, "l", 45, unit)
|
||||
straight_n_turn(4, "l", 45, unit)
|
||||
diagonal_n_turn(2, "l", 135, unit)
|
||||
|
||||
lift_and_move(3, unit)
|
||||
straight_n_turn(2, "r", 45, unit)
|
||||
diagonal_n_turn(1, "r", 45, unit)
|
||||
straight_n_turn(1, "r", 90, unit)
|
||||
straight_n_turn(4, "r", 90, unit)
|
||||
straight_n_turn(1, "r", 45, unit)
|
||||
diagonal_n_turn(1, "l", 135, unit)
|
||||
lift_and_move(3, unit)
|
||||
left(90)
|
||||
straight_n_turn(4, "l", 90, unit)
|
||||
straight_n_turn(8, "r", 90, unit)
|
||||
lift_and_move(1, unit)
|
||||
right(180)
|
||||
|
||||
def draw_letter_e(unit):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue