0% found this document useful (0 votes)
4 views11 pages

Import Pygame

op

Uploaded by

anukalppant8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views11 pages

Import Pygame

op

Uploaded by

anukalppant8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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