用pygame模拟生命
要用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()
这只是一个简单的示例,你可以根据需要进行修改和扩展,以实现更复杂的生命模拟
原文地址: https://www.cveoy.top/t/topic/itsJ 著作权归作者所有。请勿转载和采集!