Day17作业

import pygame
from math import pi

pygame.init()
screen = pygame.display.set_mode((1000, 600))
screen.fill((255, 255, 255))
pygame.display.flip()


def show_txt(string: str):
    font = pygame.font.Font('./files/aa.ttf', 20)
    text = font.render(string, True, (0, 0, 0))
    screen.blit(text, (0, 0))
    pygame.display.flip()


def draw_circle(color, radius):
    flag = True
    while flag:
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN and chr(event.key) == 'q':
                flag = False
            elif event.type == pygame.MOUSEBUTTONDOWN:
                pygame.draw.circle(screen, color, event.pos, radius)
                pygame.display.flip()
            elif event.type == pygame.QUIT:
                exit()


def draw_semicircle(w, h, s, e):
    flag = True
    while flag:
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN and chr(event.key) == 'q':
                flag = False
            elif event.type == pygame.MOUSEBUTTONDOWN:
                x, y = event.pos
                pygame.draw.arc(screen, (0, 0, 0), (x, y, w, h), s, e, 4)
                pygame.display.flip()
            elif event.type == pygame.QUIT:
                exit()


while True:
    # 只要有事件产生就会进入for循环
    for event in pygame.event.get():
        # 根据判断type的值来判断是aa什么事件产生了
        if event.type == pygame.QUIT:
            exit()
        elif event.type == pygame.KEYDOWN and chr(event.key) == 'a':
            draw_circle((255, 255, 0), 200)
        elif event.type == pygame.KEYDOWN and chr(event.key) == 'b':
            draw_semicircle(200, 50, 0, 2.1*pi)
        elif event.type == pygame.KEYDOWN and chr(event.key) == 'c':
            draw_circle((0, 0, 0), 25)
        elif event.type == pygame.KEYDOWN and chr(event.key) == 'd':
            draw_semicircle(300, 300, 1.1*pi, 1.9 * pi)
        elif event.type == pygame.KEYDOWN and chr(event.key) == 'p':
            screen.fill((255, 255, 255))

你可能感兴趣的:(Day17作业)