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

标签 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()

现在我需要专家建议 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/

相关文章:

python - Kivy 严格来说是一个 GUI 框架吗?

python - 将两个 python 数据处理脚本组合成一个工作流

python - 如何不通过大写其他代码来替换代码?

python - 在pygame中从缓冲区播放声音

python - 计算在 pygame 中击中 2d 平面上目标的 X 和 Y 速度

python - 导入 tensorflow CPU 错误 - 未找到 nvcuda.dll

python - 如何使用 NLTK snowball 词干提取器来提取西类牙语单词列表 Python

python - 使图像背景透明的问题: pygame

python - Anaconda 启动器需要很长时间才能加载

python - 如何将所有 conda 环境放入一个文件夹