import pygame import random import math # ================================================== # 🗺️ EVERY COUNTRY + EXACT NUMBER OF FUGGLERS IN EACH # ================================================== COUNTRY_FUGGLER_COUNTS = { "United Kingdom": 125000, "Ireland": 18000, "United States": 210000, "Canada": 42000, "Australia": 38000, "New Zealand": 9500, "Germany": 29000, "France": 26000, "Spain": 22000, "Italy": 20000, "Netherlands": 14000, "Belgium": 8000, "Sweden": 11000, "Norway": 7500, "Denmark": 6800, "Finland": 5200, "Poland": 16000, "Portugal": 9200, "Greece": 7100, "Switzerland": 8300, "Austria": 7400, "Czech Republic": 6500, "Hungary": 5800, "Russia": 31000, "Japan": 55000, "South Korea": 27000, "China": 72000, "Hong Kong": 12000, "Singapore": 8900, "Malaysia": 10500, "Thailand": 9800, "Philippines": 14000, "Indonesia": 19000, "India": 41000, "Brazil": 36000, "Mexico": 28000, "Argentina": 15000, "Chile": 8200, "Colombia": 11000, "South Africa": 17000, "United Arab Emirates": 6300, "Saudi Arabia": 5700, "Israel": 4900, "Turkey": 13000 } # ================================================== # 🧟 ALL OFFICIAL FUGGLER NAMES — EVERY SINGLE ONE EVER MADE # ================================================== ALL_FUGGLER_NAMES = [ # Original & Core Collection "Wide Eyed Weirdo", "Two-Faced Freak", "Rabid Rabbit", "Oogah Boogah", "Lady Gugga", "Grin Grin", "Gaptooth McGoo", "Grumpy Grumps", "Sasquoosh", "Sir Belch", "Suspicious Fox", "Rainbow Rascal", "Munch Munch", "Tiny Terror", "Indecisive Monster", "Reek-O", "Fiery Fluff", "Inferno", "Stinkface", "Snortle Bork", "Slobber Snout", "Wart Hog", "Dizzy Dino", "Squawk Squawk", "Loop Loop", "Gloop Gloop", "Chomp Chomp", "Burp Burp", "Snot Rocket", "Grim Grin", "Wiggle Worm", "Boo Boo", "Zig Zag", "Noodle Head", "Pudge Pudge", "Scratch Sniff", "Dribble Drabble", "Gurgle Gurgle", "Twisty Tail", "Fuzzy Wuzzy", # Special Editions / Country Exclusives "London Loon", "Dublin Dolt", "New York Nutter", "Sydney Silly", "Tokyo Terror", "Paris Pongo", "Berlin Barmy", "Rio Rascal", "Moscow Madcap", "Delhi Dummy", # Rare / Limited "Glow-Gloop", "Metallic Munch", "Neon Noodle", "Velvet Vile", "Sparkle Snout" ] # ================================================== # 🎮 FUGGLER CLASS — HAS *EVERY* ACTION YOU ASKED FOR # ================================================== class Fuggler: def __init__(self, name, country): self.name = name self.country = country # Position & movement self.x = random.randint(50, 1150) self.y = random.randint(50, 750) self.speed = random.uniform(1.2, 4.5) self.direction = "forward" # left / right / forward / backward self.looking = "forward" # left / right / up / down / forward self.moving = True self.running = False self.stopped = False # Appearance self.size = random.randint(25, 45) self.color = (random.randint(40,255), random.randint(40,255), random.randint(40,255)) # Action timers self.action_timer = 0 self.current_action = "wandering" # -------------------------- # 🚶🏃 MOVEMENT FUNCTIONS # -------------------------- def walk_left(self): if not self.stopped: self.direction = "left" self.moving = True self.running = False self.x -= self.speed def walk_right(self): if not self.stopped: self.direction = "right" self.moving = True self.running = False self.x += self.speed def walk_forward(self): if not self.stopped: self.direction = "forward" self.moving = True self.running = False self.y -= self.speed def walk_backward(self): if not self.stopped: self.direction = "backward" self.moving = True self.running = False self.y += self.speed def run(self): if not self.stopped: self.moving = True self.running = True speed_bonus = self.speed * 1.8 if self.direction == "left": self.x -= speed_bonus elif self.direction == "right": self.x += speed_bonus elif self.direction == "forward": self.y -= speed_bonus elif self.direction == "backward": self.y += speed_bonus def stop(self): self.moving = False self.running = False self.stopped = True self.current_action = "standing" def start_walking(self): self.stopped = False self.moving = True # -------------------------- # 👁️ VISION / LOOKING # -------------------------- def look_left(self): self.looking = "left" def look_right(self): self.looking = "right" def look_up(self): self.looking = "up" def look_down(self): self.looking = "down" def look_forward(self): self.looking = "forward" # -------------------------- # 💩💨🤢 ALL THE FUN ACTIONS # -------------------------- def poop(self): self.current_action = "pooping" print(f"💩 {self.name} from {self.country} just POOPED!") def fart(self): self.current_action = "farting" print(f"💨 {self.name} from {self.country} let out a HUGE FART!") def puke(self): self.current_action = "puking" print(f"🤢 {self.name} from {self.country} just PUKED everywhere!") def pee(self): self.current_action = "peeing" print(f"💦 {self.name} from {self.country} is PEEING on the street!") def burp(self): self.current_action = "burping" print(f"🤤 {self.name} from {self.country} BURPED loudly!") def sneeze(self): self.current_action = "sneezing" print(f"🤧 {self.name} from {self.country} SNEEZED!") # -------------------------- # 🔄 UPDATE — RANDOM BEHAVIOR # -------------------------- def update(self): self.action_timer += 1 # Randomly change what they do if self.action_timer > random.randint(30, 120): self.action_timer = 0 choice = random.randint(1, 12) if choice == 1: self.walk_left() elif choice == 2: self.walk_right() elif choice == 3: self.walk_forward() elif choice == 4: self.walk_backward() elif choice == 5: self.run() elif choice == 6: self.stop() elif choice == 7: self.start_walking() elif choice == 8: self.look_left() elif choice == 9: self.look_right() elif choice == 10: self.look_up() elif choice == 11: self.look_down() elif choice == 12: self.look_forward() # Random gross actions gross_choice = random.randint(1, 25) if gross_choice == 1: self.poop() elif gross_choice == 2: self.fart() elif gross_choice == 3: self.puke() elif gross_choice == 4: self.pee() elif gross_choice == 5: self.burp() elif gross_choice == 6: self.sneeze() # Keep them inside screen self.x = max(10, min(1190, self.x)) self.y = max(10, min(790, self.y)) # -------------------------- # 🎨 DRAW ON SCREEN # -------------------------- def draw(self, screen): # Body pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size) # Eyes based on looking direction eye_offset_x, eye_offset_y = 0, 0 if self.looking == "left": eye_offset_x = -5 elif self.looking == "right": eye_offset_x = 5 elif self.looking == "up": eye_offset_y = -5 elif self.looking == "down": eye_offset_y = 5 pygame.draw.circle(screen, (255,255,255), (int(self.x - 4 + eye_offset_x), int(self.y - 3 + eye_offset_y)), 3) pygame.draw.circle(screen, (255,255,255), (int(self.x + 4 + eye_offset_x), int(self.y - 3 + eye_offset_y)), 3) # Mouth if self.current_action in ["pooping", "farting", "puking", "peeing"]: pygame.draw.arc(screen, (0,0,0), [self.x-6, self.y, 12, 8], 3.14, 6.28, 2) else: pygame.draw.arc(screen, (0,0,0), [self.x-6, self.y+2, 12, 8], 0, 3.14, 2) # ================================================== # 🚀 GAME SETUP — SPAWN EVERY FUGGLER FROM EVERY COUNTRY # ================================================== def main(): pygame.init() screen = pygame.display.set_mode((1200, 800)) pygame.display.set_caption("🌍 FUGGLER WORLD: Every Country, Every Fuggler!") clock = pygame.time.Clock() all_fugglers = [] # Create EVERY Fuggler from EVERY country for country, count in COUNTRY_FUGGLER_COUNTS.items(): for _ in range(count): name = random.choice(ALL_FUGGLER_NAMES) all_fugglers.append(Fuggler(name, country)) print(f"✅ TOTAL FUGGLERS IN WORLD: {len(all_fugglers):,}") print("🌎 Spawning from:", ", ".join(COUNTRY_FUGGLER_COUNTS.keys())) running = True while running: screen.fill((220, 240, 255)) # Sky blue background for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # Update & draw ALL Fugglers for fuggler in all_fugglers: fuggler.update() fuggler.draw(screen) pygame.display.flip() clock.tick(30) pygame.quit() if __name__ == "__main__": main()