Untitled

 avatar
unknown
plain_text
a month ago
2.3 kB
2
Indexable
import pygame
from pygame import Vector3

# Initialize pygame
pygame.init()

# Set up display
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("3D Pixel Survival")

# Colors
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)

# Camera
camera_pos = Vector3(0, 0, -5)

# Player
player_size = 20
player_pos = Vector3(width/2, height/2, 0)
player_speed = 5
player_body =

# Enemies
enemy_size = 10
enemy_pos = Vector3(random.randint(0, width-enemy_size), 0, 0)
enemy_speed = 3
enemies =

# Bullet
bullet_size = 5
bullet_speed = 10
bullets =

# Game loop
game_over = False

while not game_over:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            game_over = True
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                bullet_pos = Vector3(player_pos.x + player_size/2 - bullet_size/2, player_pos.y, player_pos.z)
                bullets.append(bullet_pos)

    # Player movement
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player_pos.x -= player_speed
    if keys[pygame.K_RIGHT]:
        player_pos.x += player_speed
    if keys[pygame.K_UP]:
        player_pos.y -= player_speed
    if keys[pygame.K_DOWN]:
        player_pos.y += player_speed

    # Enemy movement
    enemy_pos.y += enemy_speed

    # Bullet movement
    for i, bullet_pos in enumerate(bullets):
        bullet_pos.y += bullet_speed
        if bullet_pos.y > height:
            bullets.pop(i)

    # Check for collisions (simplified)
    for enemy in enemies:
        if (player_pos.x - enemy.x)**2 + (player_pos.y - enemy.y)**2 <= (player_size + enemy_size)**2 / 4:
            game_over = True

    # Draw
    screen.fill(black)

    # Draw player (simplified)
    pygame.draw.rect(screen, white, (player_pos.x, player_pos.y, player_size, player_size))

    # Draw enemies
    for enemy in enemies:
        pygame.draw.rect(screen, red, (enemy.x, enemy.y, enemy_size, enemy_size))

    # Draw bullets
    for bullet_pos in bullets:
        pygame.draw.rect(screen, green, (bullet_pos.x, bullet_pos.y, bullet_size, bullet_size))

    pygame.display.update()

# Game over
pygame.quit()
Leave a Comment