猫史档案馆


【Python作品分享】Pie游戏【作品秀】

用户:申浩南申浩南查看:0 回复:0 评论:0 创建时间:2022-02-17T10:15:11


【作品展示】

center_image

 

【作品介绍】

点击1234

 

【作品源代码】

import math
import pygame
import sys
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode([600, 500])
pygame.display.set_caption('The Pie Game(press1,2,3,4)')
font = pygame.font.Font(None, 60)

color = 200, 80, 60
width = 4
x = 300
y = 250
radius = 200
position = x-radius, y-radius, radius*2, radius*2

piece1 = False
piece2 = False
piece3 = False
piece4 = False

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
        elif event.type == KEYUP:
            if event.key == pygame.K_ESCAPE:
                sys.exit()
            elif event.key == pygame.K_1:
                piece1 = True
            elif event.key == pygame.K_2:
                piece2 = True
            elif event.key == pygame.K_3:
                piece3 = True
            elif event.key == pygame.K_4:
                piece4 = True

    screen.fill((0, 0, 200))

    # 绘制四个数字
    textImg1 = font.render('1', True, color)
    screen.blit(textImg1, (x + radius / 2 - 20, y - radius / 2))
    textImg2 = font.render('2', True, color)
    screen.blit(textImg2, (x - radius / 2, y - radius / 2))
    textImg3 = font.render('3', True, color)
    screen.blit(textImg3, (x - radius / 2 - 20, y + radius / 2 - 20))
    textImg4 = font.render('4', True, color)
    screen.blit(textImg4, (x + radius / 2 - 20, y + radius / 2 - 20))

    # 侦测按下的数字
    if piece1:
        start_angle = math.radians(0)
        end_angle = math.radians(90)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x, y - radius), width)
        pygame.draw.line(screen, color, (x, y), (x + radius, y), width)
    if piece2:
        start_angle = math.radians(90)
        end_angle = math.radians(180)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x, y - radius), width)
        pygame.draw.line(screen, color, (x, y), (x - radius, y), width)
    if piece3:
        start_angle = math.radians(180)
        end_angle = math.radians(270)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x - radius, y), width)
        pygame.draw.line(screen, color, (x, y), (x, y+radius), width)
    if piece4:
        start_angle = math.radians(270)
        end_angle = math.radians(360)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x, y + radius), width)
        pygame.draw.line(screen, color, (x, y), (x + radius, y), width)
    # 侦测是否所有数字都已完成
    if piece1 and piece2 and piece3 and piece4:
        color = 0, 255, 0

    pygame.display.update()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页