我想用 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()
现在我需要专家建议 python 代码会怎样。我只想在我的屏幕上显示一个棋盘。就是这样。
最佳答案
更有效的方法是在初始化时绘制一次板,然后只 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))
然后在循环中首先绘制板面:
gameDisplay.blit(board, board.get_rect())
# Draw your game pieces
关于python - 用python在pygame中制作一个8*8的棋盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945254/