Skip to content

Conversation

@mmushimnqobi-dev
Copy link

import pygame
import sys

1. Setup & Colors

pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Neon Shooter Prototype")

WHITE = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)

2. Player & Game Variables

player_pos = [WIDTH // 2, HEIGHT - 50]
player_size = 40
bullets = []
enemy_pos = [WIDTH // 2, 50]
enemy_size = 50
enemy_speed = 2

3. Main Game Loop

clock = pygame.time.Clock()

while True:
screen.fill((10, 10, 10)) # Dark background

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit()
    
    # Shoot with Spacebar
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_SPACE:
            bullets.append([player_pos[0] + player_size//2, player_pos[1]])

# Movement Logic
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_pos[0] > 0:
    player_pos[0] -= 5
if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH - player_size:
    player_pos[0] += 5

# Update Bullets
for b in bullets[:]:
    b[1] -= 10 # Move up
    if b[1] < 0: bullets.remove(b)

# Simple Enemy AI (Side to Side)
enemy_pos[0] += enemy_speed
if enemy_pos[0] <= 0 or enemy_pos[0] >= WIDTH - enemy_size:
    enemy_speed *= -1

# Collision Detection (Bullet vs Enemy)
for b in bullets[:]:
    if (enemy_pos[0] < b[0] < enemy_pos[0] + enemy_size and
        enemy_pos[1] < b[1] < enemy_pos[1] + enemy_size):
        bullets.remove(b)
        print("Target Hit!") # Replace with score logic later

# Draw everything
pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size))
pygame.draw.rect(screen, RED, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))
for b in bullets:
    pygame.draw.line(screen, YELLOW, (b[0], b[1]), (b[0], b[1] - 10), 3)

pygame.display.flip()
clock.tick(60) # 60 FPS

import pygame
import sys

# 1. Setup & Colors
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Neon Shooter Prototype")

WHITE = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)

# 2. Player & Game Variables
player_pos = [WIDTH // 2, HEIGHT - 50]
player_size = 40
bullets = []
enemy_pos = [WIDTH // 2, 50]
enemy_size = 50
enemy_speed = 2

# 3. Main Game Loop
clock = pygame.time.Clock()

while True:
    screen.fill((10, 10, 10)) # Dark background

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        
        # Shoot with Spacebar
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                bullets.append([player_pos[0] + player_size//2, player_pos[1]])

    # Movement Logic
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and player_pos[0] > 0:
        player_pos[0] -= 5
    if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH - player_size:
        player_pos[0] += 5

    # Update Bullets
    for b in bullets[:]:
        b[1] -= 10 # Move up
        if b[1] < 0: bullets.remove(b)

    # Simple Enemy AI (Side to Side)
    enemy_pos[0] += enemy_speed
    if enemy_pos[0] <= 0 or enemy_pos[0] >= WIDTH - enemy_size:
        enemy_speed *= -1

    # Collision Detection (Bullet vs Enemy)
    for b in bullets[:]:
        if (enemy_pos[0] < b[0] < enemy_pos[0] + enemy_size and
            enemy_pos[1] < b[1] < enemy_pos[1] + enemy_size):
            bullets.remove(b)
            print("Target Hit!") # Replace with score logic later

    # Draw everything
    pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size))
    pygame.draw.rect(screen, RED, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))
    for b in bullets:
        pygame.draw.line(screen, YELLOW, (b[0], b[1]), (b[0], b[1] - 10), 3)

    pygame.display.flip()
    clock.tick(60) # 60 FPS
@vercel
Copy link

vercel bot commented Jan 31, 2026

@mmushimnqobi-dev is attempting to deploy a commit to the GDevelop Team on Vercel.

A member of the Team first needs to authorize it.

@mmushimnqobi-dev
Copy link
Author

import pygame
import sys

1. Setup & Colors

pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Neon Shooter Prototype")

WHITE = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)

2. Player & Game Variables

player_pos = [WIDTH // 2, HEIGHT - 50]
player_size = 40
bullets = []
enemy_pos = [WIDTH // 2, 50]
enemy_size = 50
enemy_speed = 2

3. Main Game Loop

clock = pygame.time.Clock()

while True:
screen.fill((10, 10, 10)) # Dark background

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit()
    
    # Shoot with Spacebar
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_SPACE:
            bullets.append([player_pos[0] + player_size//2, player_pos[1]])

# Movement Logic
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_pos[0] > 0:
    player_pos[0] -= 5
if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH - player_size:
    player_pos[0] += 5

# Update Bullets
for b in bullets[:]:
    b[1] -= 10 # Move up
    if b[1] < 0: bullets.remove(b)

# Simple Enemy AI (Side to Side)
enemy_pos[0] += enemy_speed
if enemy_pos[0] <= 0 or enemy_pos[0] >= WIDTH - enemy_size:
    enemy_speed *= -1

# Collision Detection (Bullet vs Enemy)
for b in bullets[:]:
    if (enemy_pos[0] < b[0] < enemy_pos[0] + enemy_size and
        enemy_pos[1] < b[1] < enemy_pos[1] + enemy_size):
        bullets.remove(b)
        print("Target Hit!") # Replace with score logic later

# Draw everything
pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size))
pygame.draw.rect(screen, RED, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))
for b in bullets:
    pygame.draw.line(screen, YELLOW, (b[0], b[1]), (b[0], b[1] - 10), 3)

pygame.display.flip()
clock.tick(60) # 60 FPS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant