0% found this document useful (0 votes)
2 views

import pygame

op

Uploaded by

anukalppant8
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

import pygame

op

Uploaded by

anukalppant8
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

import pygame

import random

# Initialize pygame

pygame.init()

# Game constants

SCREEN_WIDTH = 800

SCREEN_HEIGHT = 600

WHITE = (255, 255, 255)

BLACK = (0, 0, 0)

RED = (255, 0, 0)

GREEN = (0, 255, 0)

BLUE = (0, 0, 255)

YELLOW = (255, 255, 0)

# Create the screen object

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

pygame.display.set_caption("Avengers Survival Game")

# Player (Avenger) base class

class Avenger(pygame.sprite.Sprite):

def __init__(self, name, color, x, y, health=100):

super().__init__()

self.name = name
self.image = pygame.Surface((50, 50))

self.image.fill(color)

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.health = health

self.speed = 5

def update(self, keys):

if keys[pygame.K_LEFT]:

self.rect.x -= self.speed

if keys[pygame.K_RIGHT]:

self.rect.x += self.speed

if keys[pygame.K_UP]:

self.rect.y -= self.speed

if keys[pygame.K_DOWN]:

self.rect.y += self.speed

def attack(self):

pass # Will be overridden in subclasses

# Specific Avengers class with unique abilities

# Iron Man's Repulsor Beam

class IronMan(Avenger):

def __init__(self, x, y):


super().__init__("Iron Man", BLUE, x, y)

def attack(self):

repulsor = RepulsorBeam(self.rect.centerx, self.rect.top)

all_sprites.add(repulsor)

repulsor_group.add(repulsor)

# Thor's Lightning Strike

class Thor(Avenger):

def __init__(self, x, y):

super().__init__("Thor", YELLOW, x, y)

def attack(self):

lightning = Lightning(self.rect.centerx, self.rect.top)

all_sprites.add(lightning)

lightning_group.add(lightning)

# Captain America's Shield Throw

class CaptainAmerica(Avenger):

def __init__(self, x, y):

super().__init__("Captain America", WHITE, x, y)

def attack(self):

shield = Shield(self.rect.centerx, self.rect.top)

all_sprites.add(shield)
shield_group.add(shield)

# Hulk's Smash

class Hulk(Avenger):

def __init__(self, x, y):

super().__init__("Hulk", GREEN, x, y)

def attack(self):

smash = Smash(self.rect.centerx, self.rect.top)

all_sprites.add(smash)

smash_group.add(smash)

# Black Widow's Widow's Bite (Electric Strike)

class BlackWidow(Avenger):

def __init__(self, x, y):

super().__init__("Black Widow", RED, x, y)

def attack(self):

bite = WidowBite(self.rect.centerx, self.rect.top)

all_sprites.add(bite)

bite_group.add(bite)

# Hawkeye's Arrow

class Hawkeye(Avenger):

def __init__(self, x, y):


super().__init__("Hawkeye", BLACK, x, y)

def attack(self):

arrow = Arrow(self.rect.centerx, self.rect.top)

all_sprites.add(arrow)

arrow_group.add(arrow)

# Projectile classes for each power

# Iron Man's Repulsor Beam

class RepulsorBeam(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((5, 20))

self.image.fill(WHITE) # Repulsor beam color

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 10

def update(self):

self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Thor's Lightning
class Lightning(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((5, 20))

self.image.fill(RED)

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 10

def update(self):

self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Captain America's Shield

class Shield(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((10, 30))

self.image.fill(BLUE)

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 8

def update(self):
self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Hulk's Smash

class Smash(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((50, 50))

self.image.fill(GREEN)

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 10

def update(self):

self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Black Widow's Widow Bite

class WidowBite(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((5, 20))

self.image.fill(RED)
self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 8

def update(self):

self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Hawkeye's Arrow

class Arrow(pygame.sprite.Sprite):

def __init__(self, x, y):

super().__init__()

self.image = pygame.Surface((5, 20))

self.image.fill(BLACK)

self.rect = self.image.get_rect()

self.rect.center = (x, y)

self.speed = 10

def update(self):

self.rect.y -= self.speed

if self.rect.bottom < 0:

self.kill()

# Initialize player characters


ironman = IronMan(SCREEN_WIDTH // 2, SCREEN_HEIGHT - 50)

thor = Thor(SCREEN_WIDTH // 3, SCREEN_HEIGHT - 50)

cap_america = CaptainAmerica(SCREEN_WIDTH // 4, SCREEN_HEIGHT - 50)

hulk = Hulk(SCREEN_WIDTH // 5, SCREEN_HEIGHT - 50)

black_widow = BlackWidow(SCREEN_WIDTH // 6, SCREEN_HEIGHT - 50)

hawkeye = Hawkeye(SCREEN_WIDTH // 7, SCREEN_HEIGHT - 50)

all_sprites = pygame.sprite.Group()

all_sprites.add(ironman, thor, cap_america, hulk, black_widow, hawkeye)

# Groups for projectiles

repulsor_group = pygame.sprite.Group()

lightning_group = pygame.sprite.Group()

shield_group = pygame.sprite.Group()

smash_group = pygame.sprite.Group()

bite_group = pygame.sprite.Group()

arrow_group = pygame.sprite.Group()

# Game loop

running = True

while running:

screen.fill(BLACK)

# Handle events

for event in pygame.event.get():


if event.type == pygame.QUIT:

running = False

# Key press handling for movement

keys = pygame.key.get_pressed()

# Update player positions

all_sprites.update(keys)

# Example attacks (Thor's lightning, Iron Man's repulsor)

if keys[pygame.K_SPACE]:

ironman.attack() # Iron Man attack (Repulsor)

if keys[pygame.K_RETURN]:

thor.attack() # Thor attack (Lightning)

# Draw everything

all_sprites.draw(screen)

repulsor_group.draw(screen)

lightning_group.draw(screen)

shield_group.draw(screen)

smash_group.draw(screen)

bite_group.draw(screen)

arrow_group.draw(screen)

pygame.display.flip()
pygame.time.Clock().tick(60)

# Quit pygame

pygame.quit()

You might also like