用python在pygame中制作一个8*8的棋盘

use*_*579 4 python pygame anaconda

我想用python在pygame中制作一个棋盘。只有带有 for 循环的棋盘。我尝试了几种方法来做到这一点,但我不知道它到底是什么。这是我的代码:

import pygame
pygame.init()

#set color with rgb
white,black,red = (255,255,255),(0,0,0),(255,0,0)

#set display
gameDisplay = pygame.display.set_mode((800,600))

#caption
pygame.display.set_caption("ChessBoard")

#beginning of logic
gameExit = False

lead_x = 20
lead_y = 20

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameExit = True

#For loop for chessboard 

#draw a rectangle
gameDisplay.fill(white)
pygame.draw.rect(gameDisplay, black, [lead_x,lead_y,20,20])
pygame.display.update()


#quit from pygame & python
pygame.quit()
quit()
Run Code Online (Sandbox Code Playgroud)

现在我需要一个专家建议,python 代码会是什么。我只想在我的屏幕上显示一个棋盘。就是这样。

wya*_*tis 7

更有效的方法是在初始化时绘制一次电路板,然后在该表面上进行 blit:

cellSize = 20
board = Surface((cellSize * 8, cellSize * 8))
board.fill((255, 255, 255))
for x in range(0, 8, 2):
    for y in range(0, 8, 2):
        pygame.draw.rect(board, (0,0,0), (x*size, y*size, size, size))
Run Code Online (Sandbox Code Playgroud)

然后在您的循环中,您首先绘制板面:

gameDisplay.blit(board, board.get_rect())
# Draw your game pieces
Run Code Online (Sandbox Code Playgroud)