Fuggler game go!
by QuantumBolt10248 lines9.8 KB
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()Game Source: Fuggler game go!
Creator: QuantumBolt10
Libraries: none
Complexity: complex (248 lines, 9.8 KB)
The full source code is displayed above on this page.
Remix Instructions
To remix this game, copy the source code above and modify it. Add a ARCADELAB header at the top with "remix_of: fuggler-game-go-quantumbolt10" to link back to the original. Then publish at arcadelab.ai/publish.