Python程序游戏

2024-04-25 21:17:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试用python制作conways的人生游戏,我正在尝试弄清楚如何让程序读取黑色方块,但是我运气不好,有人能帮我吗。onoff打印当前只是将所有内容打印为off(0),我希望它按顺序打印1,其中有黑色正方形。你知道吗

import pygame
import random
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
GREY = (0, 210, 230)

WIDTH = 20
HEIGHT = 20
MARGIN = 1
gridsize = 20

onoff = []
grid = []
for row in range(gridsize):
    grid.append([])
    for column in range(gridsize):    # grid
        grid[row].append([])

    grid[row][column] = 0 # setting value of pixel to off

    for x in range(gridsize*gridsize):    #onoff update
        onoff.append(grid[row][column])

print(onoff)


pygame.init()
WINDOW_SIZE = [21*gridsize, 21* gridsize]
screen = pygame.display.set_mode(WINDOW_SIZE) # screen size


done = False
clock = pygame.time.Clock()
while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: 
            done = True 
        elif event.type == pygame.MOUSEBUTTONDOWN:# mosue click detection
            pos = pygame.mouse.get_pos()
            column = pos[0] // (WIDTH + MARGIN)
            row = pos[1] // (HEIGHT + MARGIN)
            grid[row][column] = 1          

            print(onoff)
            print("Grid coordinates: ", row, column)

    for row in range(gridsize):
        for column in range(gridsize):
            color = WHITE  #grid creation

            if grid[row][column] == 1:
                color = BLACK
            pygame.draw.rect(screen,
                             color,
                             [(MARGIN + WIDTH) * column + MARGIN, # black rect
                              (MARGIN + HEIGHT) * row + MARGIN,
                              WIDTH,
                              HEIGHT])


    clock.tick(60)

    pygame.display.flip()

pygame.quit()

Tags: inmarginposeventforrangecolumnwidth
1条回答
网友
1楼 · 发布于 2024-04-25 21:17:57
onoff = []
grid = []
for row in range(gridsize):
    grid.append([])
    for column in range(gridsize):    # grid
        grid[row].append([])

        grid[row][column] = 0 # setting value of pixel to off
        onoff.append(grid[row][column])

for x in range(len(grid)):
    print(grid[x])

没关系,我解决了,谢谢

相关问题 更多 >