首先,确保你已经安装了pygame库。你可以使用以下命令来安装:
pip install pygame
接下来,创建一个新的Python文件,比如super_mario.py,并按照以下步骤编写代码:
- 导入必要的模块:
import pygameimport sysfrom pygame.locals import *
- 初始化pygame:
pygame.init()
- 设置窗口大小:
screen_width = 800screen_height = 600screen = pygame.display.set_mode((screen_width, screen_height))pygame.display.set_caption('Super Mario')
- 加载马里奥和蘑菇的图像:
mario_img = pygame.image.load('mario.png')mushroom_img = pygame.image.load('mushroom.png')
- 定义马里奥的初始位置和速度:
mario_x = screen_width // 2mario_y = screen_height - 64 # y坐标设置为屏幕底部上方64个像素,以使马里奥的头部位于屏幕底部中央mario_speed = 5
- 游戏主循环:
```python
while True:处理事件队列中的事件
for event in pygame.event.get():
if event.type == QUIT: # 如果用户点击了关闭按钮或按下了Esc键,退出游戏循环
pygame.quit()
sys.exit()
elif event.type == KEYDOWN: # 如果用户按下了键盘上的一个键
if event.key == K_UP: # 如果按下的是上键,马里奥向上移动(跳跃)
mario_y -= mario_speed
elif event.key == K_DOWN: # 如果按下的是下键,马里奥向下移动(蹲下)
mario_y += mario_speed
elif event.key == K_LEFT: # 如果按下的是左键,马里奥向左移动(向左移动)
mario_x -= mario_speed
elif event.key == K_RIGHT: # 如果按下的是右键,马里奥向右移动(向右移动)
mario_x += mario_speed将马里奥的图像绘制到屏幕上(这里假设马里奥图像的大小为64x64像素)
screen.blit(mario_img, (mario_x, mario_y))检查是否吃到了蘑菇:如果马里奥的y坐标小于等于0(即蘑菇的y坐标),则将其y坐标设置为屏幕底部上方64个像素,并增加蘑菇图像的绘制次数,直到吃掉蘑菇为止。这里假设蘑菇图像的大小为32x32像素)
if mario_y <= 0: # 如果吃到了蘑菇,将马里奥的y坐标设置为屏幕底部上方64个像素,并增加蘑菇图像的绘制次数,直到吃掉蘑菇为止。这里假设蘑菇图像的大小为32x32像素)
mario_y = 64 + 32 # 将马里奥的y坐标设置为蘑菇的y坐标加上其自身高度的一半,以使其正好吃到蘑菇。这里假设蘑菇图像的大小为32x32像素)
mushroom_draw_count = 0 # 重置蘑菇图像的绘制次数,以便在吃掉蘑菇后不再绘制蘑菇图像。这里假设蘑菇图像的大小为32x32像素)
if mushroom_draw_count < 3: # 如果还没有绘制足够的蘑菇图像(这里假设需要绘制3次蘑菇图像)则继续绘制蘑菇图像。这里假设蘑菇图像的大小为32x32像素)并增加绘制次数。每次绘制蘑菇图像后,将绘制次数加1)将蘑菇图像绘制到屏幕上(这里假设蘑菇图像的大小为32x32像素)并增加绘制次数。每次绘制蘑菇图像后,将绘制次数加1。当绘制次数达到3次时,停止绘制蘑菇图像。