Пример #1
0
def run():
    global bloom, width

    max_width = min(t.window_width(), t.window_height())
    if width <= 0 and not bloom: bloom = True
    if width >= max_width and bloom: bloom = False
    width += (1 if bloom else -1)

    t.clear()
    figures.square(-width // 2, -width // 2, width, "red", "red")
    t.update()
    t.ontimer(run, 1000 // 24)  # 24 fps
Пример #2
0
import turtle as t
import random
import figures

t.hideturtle(); t.speed("fastest"); t.colormode(1.0)
for _ in range(100):
    w_width = t.window_width()
    w_height = t.window_height()
    x = random.randint(-w_width//2, w_width//2)
    y = random.randint(-w_height//2, w_height//2)
    width = min(random.randint(0, w_width//2 - x),
                random.randint(0, w_height//2 - y))
    figures.square(x, y, width,
        (random.random(), random.random(), random.random()))
Пример #3
0
def doc():
    fieldnames=('name', 'size', 'color')
    maxfield = max(len(f) for f in fieldnames)
    db = {}
    while True:

        var=input('Choose operation: \n1.See list of allowed figures \n2.Add new figure or change the old one'
                  ' \n3.Delete figure \n4.Build figures \n5.Save document \n6.Open saved document ')
        if not var: break

#Просмотр доступных фигур

        if var=='1':
           print("\nAllowed figures: \n1.Circle \n2.Square \n3.Triangle\n")

#Отридактировать существующую фигуру, усли фигуры с таким именем нет, то создается фигура по умолчанию
#Классы для создание экземпляров фигур хранятся в модуле redactor

        if var=='2':
            while True:
                key = input('\nFigure? => ')
                if not key: break

#Создание круга

                if key == 'Circle':
                    name = input('\nName? => ')

                    if name in db:
                        record = db[name]
                    else:
                        record = Circle(name='?', size=50, color='black')
                    for field in fieldnames:
                        currval = getattr(record, field)
                        newtext = input('\t[%s]=%s\n\t\tnew?=>' %(field, currval))
                        if newtext:
                            setattr(record, field, newtext)
                    db[name] =record

#Создание квадрата

                if key == 'Square':
                    name = input('\nName? => ')

                    if name in db:
                        record = db[name]
                    else:
                        record = Square(name='?', size=50, color='black')
                    for field in fieldnames:
                        currval = getattr(record, field)
                        newtext = input('\t[%s]=%s\n\t\tnew?=>' %(field, currval))
                        if newtext:
                            setattr(record, field, newtext)
                        #record.field=str(newtext)
                    db[name] =record

#Создание круга

                if key == 'Triangle':
                    name = input('\nName? => ')

                    if name in db:
                        record = db[name]
                    else:
                        record = Triangle(name='?', size=50, color='black')
                    for field in fieldnames:
                        currval = getattr(record, field)
                        newtext = input('\t[%s]=%s\n\t\tnew?=>' %(field, currval))
                        if newtext:
                            setattr(record, field, newtext)
                        #record.field=str(newtext)
                    db[name] =record

                #rec[key]=record
                #rec[key]=record
                #dbn.close()
                #2db.close()
                #return rec

#Удалить фигуру из документа

        if var=='3':
            while True:
                key = input('\nName? => ')
                if not key: break
                if key in db:
                    del db[key]

#Прорисовка фигур на документе, Функции для рисования фигур хранятся в модуле figures

        if var=='4':
            print(db)
            fig=turtle.Turtle()
            scr=turtle.Screen()

            for key in db:
                #print(db[key].__class__.__name__)
                if db[key].__class__.__name__=='Circle':
                    figures.circle(fig, db[key].size, db[key].color)

                elif db[key].__class__.__name__=='Square':
                    figures.square(fig, db[key].size, db[key].color)

                elif db[key].__class__.__name__=='Triangle':
                    figures.triangle(fig, db[key].size, db[key].color)

                scr.exitonclick()

#Сохранение документа в базу figures-shelve. Если такой документ уже есть в базе, предлагается его заменить.

        if var=='5':
            dbn = shelve.open('figures-shelve')
            name = input('\nName? => ')
            if name in dbn:
                answer=input('File with such name has already been excisting, save anyway(Y/N)?')
                if answer=='Y':
                    dbn[name]=db
                else: pass
            else:
                dbn[name]=db
            dbn.close()

#Открытие сохраненного документа

        if var=='6':
            dbn = shelve.open('figures-shelve')
            name = input('\nName? => ')
            if name in dbn:
                for key in dbn[name]:
                    db[key]=dbn[name][key]
            else:
                print('\nSuch document does not excists\n')
def main():
    print('Triangle: ', figures.triangle_field(2, 3))
    print('Circle: ', figures.circle(3))
    print('Square: ', figures.square(5))
    print('Rectangle: ', figures.rectangle(4, 3))
Пример #5
0
import turtle as t
import figures

t.hideturtle()
t.tracer(False)
width = 30
for i in range(8):
    for j in range(8):
        color = ("blue" if (i + j) % 2 == 0 else "green")
        figures.square(i * width, j * width, width, color, color)
t.update()
Пример #6
0
import figures
import test

print('Triangle: ', figures.triangle_field(2, 3))
print('Circle: ', figures.circle(3))
print('Square: ', figures.square(5))
print('Rectangle: ', figures.rectangle(4, 3))

print(__name__)