一个错误,我的游戏画面显示不出(2)我发现了一些错误并改正。但是我的游戏仍然没有显示屏幕

import math##导入math模块
import pygame,sys#导入pygame,sys模块
from pygame.locals import *#从pygame的locals导入所有内容
pygame.init()#初始化pgame
screen = pygame.display.set_mode((600,500))#设置窗口大小
pygame.display.set_caption(‘pie游戏’)#设置题目
myfont = pygame.font.Font(None,60)#设置字体大小

color = 100,80,60#设置颜色
width = 4#设置宽
x = 300#设置x坐标
y = 250#设置y坐标
radius = 200
position = x-radius,y-radius,radius2,radius2

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:#如果按下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 = myfont.render(‘1’,True,color)
screen.blit(textImg1,(x+radius/2-20,y-radius/2))
textImg2 = myfont.render(‘2’,True,color)
screen.blit(textImg2,(x-radius/2,y-radius/2))
textImg3 = myfont.render(‘3’,True,color)
screen.blit(textImg3,(x-radius/2,y-radius/2-20))
textImg4 = myfont.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,225,0

pygame.display.update()

import math##导入math模块
import pygame,sys#导入pygame,sys模块
from pygame.locals import *#从pygame的locals导入所有内容
pygame.init()#初始化pgame
screen = pygame.display.set_mode((600,500))#设置窗口大小
pygame.display.set_caption('pie游戏')#设置题目
myfont = pygame.font.Font(None,60)#设置字体大小

color = 100,80,60#设置颜色
width = 4#设置宽
x = 300#设置x坐标
y = 250#设置y坐标
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:#如果按下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 = myfont.render('1',True,color)
screen.blit(textImg1,(x+radius/2-20,y-radius/2))
textImg2 = myfont.render('2',True,color)
screen.blit(textImg2,(x-radius/2,y-radius/2))
textImg3 = myfont.render('3',True,color)
screen.blit(textImg3,(x-radius/2,y-radius/2-20))
textImg4 = myfont.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,225,0

pygame.display.update()

Jason990420
最佳答案
import math                                 # 导入math模块
import pygame,sys                           # 导入pygame,sys模块
from pygame.locals import *                 # 从pygame的locals导入所有内容

pygame.init()                               # 初始化pgame
screen = pygame.display.set_mode((600,500)) # 设置窗口大小
pygame.display.set_caption('pie 游戏')      # 设置题目
myfont = pygame.font.Font(None,60)          # 设置字体大小

color = 100,80,60                           # 设置颜色
width = 4                                   # 设置宽
x = 300                                     # 设置x坐标
y = 250                                     # 设置y坐标
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:   # 如果按下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))                              # Move into for loop


        textImg1 = myfont.render('1',True,color)
        screen.blit(textImg1,(x+radius/2-20,y-radius/2))
        textImg2 = myfont.render('2',True,color)
        screen.blit(textImg2,(x-radius/2,y-radius/2))
        textImg3 = myfont.render('3',True,color)
        screen.blit(textImg3,(x-radius/2,y+radius/2-20))    # revised from y-ridus to y+radius
        textImg4 = myfont.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,225,0

        pygame.display.update()

file

2周前 评论
讨论数量: 8

file

2周前 评论
python3_python (楼主) 2周前
hustnzj 2周前
python3_python (楼主) 2周前
Jason990420

上个问题就告诉你要如何使用代码块了…

  1. 代码格式错误, 缩格不对, 请参考以下内容, 再重新编辑内容.

代码高亮

```python

你的代码

```

上个问题中打字错误的部份, 没有全部更正, 所以执行后, 应该还是会有错误资讯.

2周前 评论
python3_python (楼主) 2周前
Jason990420 (作者) 2周前
Jason990420
import math                                 # 导入math模块
import pygame,sys                           # 导入pygame,sys模块
from pygame.locals import *                 # 从pygame的locals导入所有内容

pygame.init()                               # 初始化pgame
screen = pygame.display.set_mode((600,500)) # 设置窗口大小
pygame.display.set_caption('pie 游戏')      # 设置题目
myfont = pygame.font.Font(None,60)          # 设置字体大小

color = 100,80,60                           # 设置颜色
width = 4                                   # 设置宽
x = 300                                     # 设置x坐标
y = 250                                     # 设置y坐标
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:   # 如果按下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))                              # Move into for loop


        textImg1 = myfont.render('1',True,color)
        screen.blit(textImg1,(x+radius/2-20,y-radius/2))
        textImg2 = myfont.render('2',True,color)
        screen.blit(textImg2,(x-radius/2,y-radius/2))
        textImg3 = myfont.render('3',True,color)
        screen.blit(textImg3,(x-radius/2,y+radius/2-20))    # revised from y-ridus to y+radius
        textImg4 = myfont.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,225,0

        pygame.display.update()

file

2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!