-1

私はPongをプログラムしようとしていますが、これまでのところ:

import pygame, sys, time
from pygame.locals import *
pygame.init()

FPS=30
fpsClock=pygame.time.Clock()

size = width, height = 1280, 648
speed = [8, 8]
DISPLAYSURF=pygame.display.set_mode((size),0,32)
background=pygame.image.load('bg.png')
screen = pygame.display.set_mode(size)

UP='up'
DOWN='down'

ball = pygame.image.load("ball.png")
ballrect = ball.get_rect()

player1 = pygame.image.load('player1.png')
player1rect = player1.get_rect()
player1x=14
player1y=323
direction=None

def move(direction, player1, player1x, player1y):
    if direction:
        if direction == K_UP:
            player1y-=5
        elif direction == K_DOWN:
            player1y+=5
    return player1, player1x, player1y

while True:
    DISPLAYSURF.blit(background,(0,0))

    DISPLAYSURF.blit(player1,(player1x,player1y))

    for event in pygame.event.get():
        if event.type==QUIT:
            pygame.quit()
            sys.exit()

        if event.type == KEYDOWN:
            direction = event.key
        if event.type == KEYUP:
            if (event.key == direction):
                direction = None
    player1, player1x, player1y = move(direction, player1, player1x, player1y)

    ballrect = ballrect.move(speed)
    if ballrect.left < 0 or ballrect.right > width:
        speed[0] = -speed[0]
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1] = -speed[1]    

    screen.blit(ball, ballrect)
    screen.blit(player1, player1rect)
    pygame.display.update()
    fpsClock.tick(FPS)

しかし、CMDで開こうとすると、このエラーが表示されます

  File "C:\Users\Gustav\Documents\Pong\Pong.py", line 58
    screen.blit(player1, player1rect)
                                    ^
TabError: inconsistent use of tabs and spaces in indentation

「player1rect」をロードできるとは思いません。'ball' と 'player1' を衝突させたくないので、それぞれに rect を作成しましたが、機能していないようです。だから、私はエラーを消したくありません。

4

1 に答える 1

0

インデントに問題があります - 両方ではなく、タブまたは 4 つのスペースを使用してください。58 行目付近でタブとスペースを混在させています。

コードを確認しました - 正常に動作します。したがって、インデントをテストするか、タブを 4 つのスペース (または 4 つのスペースをタブ) に変更できるエディターを使用してください。

于 2013-11-04T20:47:41.533 に答える