【原創】python遊戲pygame學習筆記(2)--pie遊戲--還要DEBUG
阿新 • • 發佈:2018-12-16
# -*- coding:utf-8 -*- import pygame import sys from pygame.locals import * import math 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 pygame.init() screen=pygame.display.set_mode((600,500)) caption=pygame.display.set_caption("draw a circle") myfont=pygame.font.Font(None,60) while True: for event in pygame.event.get(): if event.type == QUIT: #if event in (QUIT,KEYDOWN): 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 #clear the screen screen.fill((0,0,200)) #draw the four numbers textImg1=myfont.render("1",True,color) screen.blit(textImg1,(x+radius/2-20,y+radius/2)) textImg2=myfont.render("2",True,color) screen.blit(textImg1,(x+radius/2,y+radius/2)) textImg3=myfont.render("3",True,color) screen.blit(textImg1,(x+radius/2,y+radius/2-20)) textImg4=myfont.render("4",True,color) screen.blit(textImg1,(x+radius/2-20,y+radius/2-20)) #should the pieces be drawn? 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),width) #is the pie finished? if piece1 and piece2 and piece3 and piece4: color=0,255,0 pygame.display.update color=255,255,0 position =300,250 radius=100 width=1 pygame.draw.circle(screen,color,position,radius,width) pygame.display.update()