[英]missing 1 required positional argument: 'screen'
尝试用 pygame 制作跳棋游戏。 我想在我的 Board 类中调用一个函数 draw_board 来绘制板,但出现错误。
类型错误:draw_board() 缺少 1 个必需的位置参数:“屏幕”
主文件
import pygame
from checkers.constants import HEIGHT, WIDTH
from checkers.board import Board
FPS = 60
Screen = pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption('Checkers')
def main():
running = True
clock = pygame.time.Clock()
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
print("click")
Board.draw_Board(Screen)
pygame.display.update()
pygame.quit()
main()
板子.py
import pygame
from .constants import RED, BLACK, COLS, ROWS, TILE_SIZE
class Board:
def __init__(self):
self.board = []
self.selected_piece = None
self.red_left = self.white = 12
self.red_kings = self.white_kings = 0
def draw_board(self, screen):
screen.fill(BLACK)
for row in range(ROWS):
for col in range(row % 2, ROWS, 2):
pygame.draw.rect(screen, RED, (row * TILE_SIZE, col * TILE_SIZE))
您似乎没有提供准确的代码:您没有在发布的代码中的任何地方调用draw_board
。 但是,您确实有这条线; 大写可能是一个错字:
Board.draw_Board(Screen)
我认为您混淆了调用实例方法和类方法。 您已尝试通过类调用实例方法。 Board.draw_board
通过类调用它,这意味着您必须在括号内提供两个参数。 您的代码仅提供一个。
调用draw_board
的预期方法是作为实例方法,例如
game_board = Board()
game_board.draw_board(Screen)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.