import pygame import random # Initialize pygame pygame.init() # Game constants WIDTH, HEIGHT = 800, 600 WHITE = (255, 255, 255) BLACK = (0, 0, 0) TEXT_BG = (200, 200, 200) FONT = pygame.font.Font(None, 36) # Create game window screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Click the Dickman!") # Load stickman images stickman_normal = pygame.image.load("stickdick1.png") stickman_normal = pygame.transform.scale(stickman_normal, (80, 100)) stickman_special = pygame.image.load("jakingit.jpg") stickman_special = pygame.transform.scale(stickman_special, (80, 100)) sludge_fx = pygame.mixer.Sound('sludge.mp3') sludge_fx.set_volume(0.8) shine_fx = pygame.mixer.Sound("shine.mp3") shine_fx.set_volume(1) slimygoon_fx = pygame.mixer.Sound("slimygoon.mp3") slimygoon_fx.set_volume(1) # Stickman attributes stickmen = [{'x': random.randint(50, WIDTH - 100), 'y': random.randint(200, HEIGHT - 150), 'is_special': False}] # Score, multiplier, aura points, and streamers score = 9999999999999999999999999 multiplier = 1 upgrade_cost = 10 aura_points = 0 aura_cost = 25 aura_collection_rate = 0 streamers = 0 streamer_cost = 100 def collect_goons(): global score score += int(aura_collection_rate * (1 * multiplier)) # Multiplier affects aura collection at a lower rate # Timer event for collecting goons every second AURA_EVENT = pygame.USEREVENT + 1 pygame.time.set_timer(AURA_EVENT, 1000) # Game loop running = True clock = pygame.time.Clock() while running: screen.fill(WHITE) # Draw text background box pygame.draw.rect(screen, TEXT_BG, (0, 0, WIDTH, 280)) # Display score, multiplier, aura points, and streamers score_text = FONT.render(f"Goons: {score}", True, BLACK) screen.blit(score_text, (10, 10)) multiplier_text = FONT.render(f"Multiplier: x{multiplier}", True, BLACK) screen.blit(multiplier_text, (10, 50)) upgrade_text = FONT.render(f"Upgrade Cost: {upgrade_cost} Goons (Press U)", True, BLACK) screen.blit(upgrade_text, (10, 90)) aura_text = FONT.render(f"Aura Points: {aura_points} (Auto Collect: {int(aura_collection_rate * multiplier)} Goons/sec)", True, BLACK) screen.blit(aura_text, (10, 130)) aura_upgrade_text = FONT.render(f"Aura Cost: {aura_cost} Goons (Press A)", True, BLACK) screen.blit(aura_upgrade_text, (10, 170)) streamer_text = FONT.render(f"Streamers: {streamers} (Extra Stickmen: {streamers})", True, BLACK) screen.blit(streamer_text, (10, 210)) streamer_upgrade_text = FONT.render(f"Streamer Cost: {streamer_cost} Goons (Press S)", True, BLACK) screen.blit(streamer_upgrade_text, (10, 250)) # Draw stickmen for stickman in stickmen: current_stickman = stickman_special if stickman['is_special'] else stickman_normal screen.blit(current_stickman, (stickman['x'], stickman['y'])) # Event handling for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.MOUSEBUTTONDOWN: mouse_x, mouse_y = event.pos for stickman in stickmen: if stickman['x'] < mouse_x < stickman['x'] + 80 and stickman['y'] < mouse_y < stickman['y'] + 100: if stickman['is_special']: shine_fx.play() slimygoon_fx.play() score += 5 * multiplier # Special stickman gives more points else: sludge_fx.play() score += 1 * multiplier stickman['x'] = random.randint(50, WIDTH - 100) stickman['y'] = random.randint(300, HEIGHT - 200) # Ensure new position avoids text stickman['is_special'] = random.random() < 0.08 # 8% chance to become special if event.type == pygame.KEYDOWN: if event.key == pygame.K_u and score >= upgrade_cost: score -= upgrade_cost multiplier += 1 upgrade_cost = int(upgrade_cost * 1.5) # Increase cost for next upgrade if event.key == pygame.K_a and score >= aura_cost: score -= aura_cost aura_points += 1 aura_collection_rate = aura_points # Increase auto collection rate aura_cost = int(aura_cost * 1.8) # Increase cost for next aura point if event.key == pygame.K_s and score >= streamer_cost: score -= streamer_cost streamers += 1 stickmen.append({'x': random.randint(50, WIDTH - 100), 'y': random.randint(200, HEIGHT - 150), 'is_special': False}) streamer_cost = int(streamer_cost * 2) # Increase cost for next streamer if event.type == AURA_EVENT: collect_goons() pygame.display.flip() clock.tick(60) # Run at 60 FPS # Quit pygame pygame.quit()