以下是一个简单的Python版本的魂斗罗游戏代码:
import pygame
import sys
# 初始化Pygame
pygame.init()
# 设置窗口大小和标题
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Contra")
# 加载背景图片
background = pygame.image.load("background.png")
screen.blit(background, (0, 0))
# 加载子弹图片
bullet = pygame.image.load("bullet.png")
bullet_x = 100
bullet_y = 200
# 设置子弹初始速度
bullet_speed_x = 5
bullet_speed_y = 0
# 设置子弹数量
bullet_count = 50
# 设置敌人图片
enemy = pygame.image.load("enemy.png")
enemy_x = 200
enemy_y = 200
# 设置敌人初始速度
enemy_speed_x = 0
enemy_speed_y = 0
# 设置游戏循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
bullet_x -= bullet_speed_x
if event.key == pygame.K_RIGHT:
bullet_x += bullet_speed_x
if event.key == pygame.K_UP:
bullet_y -= bullet_speed_y
if event.key == pygame.K_DOWN:
bullet_y += bullet_speed_y
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
bullet_speed_x = 0
if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
bullet_speed_y = 0
# 移动子弹
bullet_x += bullet_speed_x
bullet_y += bullet_speed_y
# 检查子弹是否碰到敌人
if bullet.colliderect(enemy):
bullet_count -= 1
if bullet_count == 0:
running = False
# 绘制子弹
screen.blit(bullet, (bullet_x, bullet_y))
# 绘制敌人
screen.blit(enemy, (enemy_x, enemy_y))
# 更新屏幕
pygame.display.flip()
# 退出Pygame
pygame.quit()
sys.exit()
这个版本的魂斗罗游戏是一个简单的命令行版本,玩家可以通过按键来控制子弹的移动。游戏的规则是玩家需要避免子弹碰到敌人,同时也要注意不要碰到屏幕边缘。