Код:
import tkinter as tk
def create_home(canvas, x_offset, y_offset):
def draw_frame():
canvas.create_rectangle(x_offset + 50, y_offset + 50, x_offset + 150, y_offset + 150, fill='green', outline='black')
def draw_roof():
canvas.create_polygon(x_offset + 35, y_offset + 50, x_offset + 100, y_offset + 5, x_offset + 165, y_offset + 50, fill='brown', outline='black')
canvas.create_oval(x_offset + 90, y_offset + 40, x_offset + 110, y_offset + 20, fill='black', outline='white')
def draw_window():
canvas.create_rectangle(x_offset + 70, y_offset + 70, x_offset + 100, y_offset + 120, fill='black', outline='white')
canvas.create_line(x_offset + 85, y_offset + 70, x_offset + 100, y_offset + 120, fill='white')
canvas.create_line(x_offset + 85, y_offset + 70, x_offset + 70, y_offset + 120, fill='white')
def draw_door():
canvas.create_rectangle(x_offset + 110, y_offset + 90, x_offset + 140, y_offset + 150, fill='green', outline='white')
canvas.create_rectangle(x_offset + 130, y_offset + 110, x_offset + 135, y_offset + 130, fill='white', outline='white')
draw_frame()
draw_roof()
draw_window()
draw_door()
root = tk.Tk()
root.title('Деревня')
root.geometry('800x600') # Увеличим размер окна для размещения четырех домиков
canvas = tk.Canvas(root, bg='white', width=800, height=600)
canvas.pack(anchor=tk.CENTER, expand=True)
# Параметры для расположения домиков
house_positions = [
(50, 50), # Координаты для первого дома
(200, 50), # Координаты для второго дома
(50, 200), # Координаты для третьего дома
(200, 200) # Координаты для четвертого дома
]
# Создаем домики в цикле
for x, y in house_positions:
create_home(canvas, x, y)
root.mainloop()
_Код:_
from tkinter import *
root=Tk()
root.title('Деревня')
root.geometry('500x500')
c=Canvas(bg='white',width=450,height=450)
c.pack(anchor=CENTER,expand=1)
def home():
def frame():
c.create_rectangle(50,50,150,150,fill='green',outline='black')
def roof():
c.create_polygon(35,50,100,5,165,50,35,50,fill='brown',outline='black')
c.create_oval(90,40,110,20,fill='black',outline='white')
def window():
c.create_rectangle(70,70,100,120,fill='black',outline='white')
c.create_line(85,70,100,120,fill='white')
c.create_line(85,70,70,120,fill='white')
def door():
c.create_rectangle(110,90,140,150,fill='green',outline='white')
c.create_rectangle(130,110,135,130,fill='white',outline='white')
frame()
roof()
window()
door()
home()