要用pygame模拟生命,你可以创建一个游戏窗口,并在窗口中绘制一个生命细胞的网格。然后,你可以通过键盘或鼠标来控制生命细胞的状态,并更新细胞的状态以模拟生命的演变。

首先,你需要导入pygame库并初始化pygame:

import pygame
pygame.init()

接下来,你可以创建一个游戏窗口并设置窗口的大小:

window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

然后,你可以创建一个二维列表来表示生命细胞的网格。每个元素可以是一个布尔值,表示细胞的状态(活或死):

grid_width = 50
grid_height = 50
grid = [[False] * grid_height for _ in range(grid_width)]

然后,你可以在游戏循环中监听键盘或鼠标事件,并根据事件来更新细胞的状态。例如,当按下鼠标左键时,你可以根据鼠标的位置来切换细胞的状态:

while True:
    for event in pygame.event.get():
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                x, y = event.pos
                cell_x = x // (window_width // grid_width)
                cell_y = y // (window_height // grid_height)
                grid[cell_x][cell_y] = not grid[cell_x][cell_y]

最后,你可以在游戏循环中绘制生命细胞的网格。你可以使用pygame的绘制函数来绘制每个细胞的矩形,并根据细胞的状态来确定矩形的颜色:

for x in range(grid_width):
    for y in range(grid_height):
        cell_rect = pygame.Rect(x * (window_width // grid_width), y * (window_height // grid_height), window_width // grid_width, window_height // grid_height)
        if grid[x][y]:
            pygame.draw.rect(window, (255, 255, 255), cell_rect)
        else:
            pygame.draw.rect(window, (0, 0, 0), cell_rect)

最后,你可以使用pygame的显示函数来更新游戏窗口并保持游戏循环:

pygame.display.flip()

这只是一个简单的示例,你可以根据需要进行修改和扩展,以实现更复杂的生命模拟

用pygame模拟生命

原文地址: https://www.cveoy.top/t/topic/itsJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录