Python堆积木游戏代码示例 - 简单易懂
{"title":"编写一个堆积木的游戏代码","content":"以下是一个简单的堆积木游戏代码示例:\n\npython\nimport pygame\nimport random\n\n# 初始化游戏\npygame.init()\n\n# 设置游戏窗口尺寸\nscreen_width = 800\nscreen_height = 600\nscreen = pygame.display.set_mode((screen_width, screen_height))\npygame.display.set_caption("Stacking Blocks Game")\n\n# 定义颜色\nwhite = (255, 255, 255)\nblack = (0, 0, 0)\nred = (255, 0, 0)\ngreen = (0, 255, 0)\n\n# 设置堆积木的属性\nblock_width = 50\nblock_height = 20\nblock_x = screen_width // 2 - block_width // 2\nblock_y = screen_height - block_height\nblock_speed = 5\n\n# 设置堆积木的初始位置、颜色和速度\nblock = pygame.Rect(block_x, block_y, block_width, block_height)\nblock_color = random.choice([red, green])\nblock_speed_x = 0\n\n# 设置堆积木堆叠的位置列表\nstacked_blocks = []\n\n# 游戏循环\nrunning = True\nwhile running:\n # 处理游戏事件\n for event in pygame.event.get():\n if event.type == pygame.QUIT:\n running = False\n elif event.type == pygame.KEYDOWN:\n if event.key == pygame.K_LEFT:\n block_speed_x = -block_speed\n elif event.key == pygame.K_RIGHT:\n block_speed_x = block_speed\n elif event.type == pygame.KEYUP:\n if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:\n block_speed_x = 0\n\n # 更新堆积木的位置\n block.x += block_speed_x\n\n # 检测堆积木是否超出屏幕边界\n if block.left < 0:\n block.left = 0\n elif block.right > screen_width:\n block.right = screen_width\n\n # 绘制背景\n screen.fill(white)\n\n # 绘制堆积木\n pygame.draw.rect(screen, block_color, block)\n\n # 绘制已堆叠的积木\n for stacked_block in stacked_blocks:\n pygame.draw.rect(screen, stacked_block[1], stacked_block[0])\n\n # 检测堆积木是否与已堆叠的积木碰撞\n for stacked_block in stacked_blocks:\n if block.colliderect(stacked_block[0]):\n # 游戏结束\n running = False\n\n # 检测堆积木是否堆叠成功\n if block.bottom < screen_height and not any(block.colliderect(stacked_block[0]) for stacked_block in stacked_blocks):\n # 堆叠成功\n stacked_blocks.append((pygame.Rect(block.x, block.y, block.width, block.height), block_color))\n # 生成新的堆积木\n block.y -= block_height\n block_color = random.choice([red, green])\n\n # 更新屏幕显示\n pygame.display.flip()\n\n# 游戏结束\npygame.quit()\n\n\n此代码使用pygame库编写了一个简单的堆积木游戏。游戏窗口大小为800x600像素,玩家通过按左右箭头键控制堆积木的移动。游戏的目标是将堆积木成功堆叠在屏幕上方的积木上,如果堆积木与已堆叠的积木碰撞,游戏结束。\n\n注意:此代码只是一个简单的示例,可能需要根据具体需求进行修改和扩展。"}
原文地址: http://www.cveoy.top/t/topic/psvm 著作权归作者所有。请勿转载和采集!