generated from mwc/lab_iteration
	Yes, I'll use docstrings because I can type more comments between """ and """. I'll still use # to the right of code to comment on the code line.
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# tile_grid.py
 | 
						|
# ------------
 | 
						|
# By MWC Contributors
 | 
						|
#
 | 
						|
# Implements `draw_tile_grid`, which draws a grid of tiles. 
 | 
						|
 | 
						|
from turtle import *
 | 
						|
from tile import fly
 | 
						|
 | 
						|
def draw_tile_grid(width, height, tile_size, tile_function):
 | 
						|
    """Draws a (width * height) grid, with tile_function drawn on each tile.
 | 
						|
 | 
						|
    (nested loops - inner loop draws one complete row (width), inner loop closes, 
 | 
						|
    outer loop positions the pen's return to row starting point, 
 | 
						|
    then moves pen up along height to start a new row.)
 | 
						|
    -- (fly(tile_size) positions the pen in the next column (width) to the right
 | 
						|
    to draw the next tile in each row)
 | 
						|
    """
 | 
						|
    for y in range(height):
 | 
						|
        for x in range(width):
 | 
						|
            tile_function(tile_size)
 | 
						|
            fly(tile_size)
 | 
						|
        return_to_x_origin(tile_size, width)
 | 
						|
        move_up_one_row(tile_size)
 | 
						|
    return_to_y_origin(tile_size, height)
 | 
						|
 | 
						|
def return_to_x_origin(tile_size, width):
 | 
						|
    "After drawing a row of tiles, returns the turtle to the starting x position"
 | 
						|
    fly(-1 * tile_size * width)
 | 
						|
 | 
						|
def return_to_y_origin(tile_size, height):
 | 
						|
    "After drawing all rows of tiles, returns the turtle to the starting y position"
 | 
						|
    right(90)
 | 
						|
    fly(tile_size * height)
 | 
						|
    left(90)
 | 
						|
 | 
						|
def move_up_one_row(tile_size):
 | 
						|
    "Moves the turtle up one row"
 | 
						|
    left(90)
 | 
						|
    fly(tile_size)
 | 
						|
    right(90)
 | 
						|
 | 
						|
 |