🎮ArcadeLab

import pygame import random import sys # ----------------

by QuantumBolt10
157 lines6.0 KB
▶ Play
import pygame
 import random
 import sys
 # --------------------------
 # 🌍 COUNTRIES + FUGGLER COUNTS
 # --------------------------
 COUNTRIES = {
     "United Kingdom": 125000,
     "Ireland": 18000,
     "USA": 210000,
     "Canada": 42000,
     "Australia": 38000,
     "Germany": 29000,
     "France": 26000,
     "Japan": 55000,
     "China": 72000,
     "Brazil": 36000,
     "South Africa": 17000
 }
 # --------------------------
 # 🧟 ALL FUGGLER NAMES
 # --------------------------
 FUGGLER_NAMES = [
     "Original Prototype #1",
     "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"
 ]
 # --------------------------
 # 🎮 FUGGLER CLASS
 # --------------------------
 class Fuggler:
     def __init__(self, name, country, is_leader=False):
         self.name = name
         self.country = country
         self.is_leader = is_leader
         self.x = 400 if is_leader else random.randint(-200, 1000)
         self.y = 300 if is_leader else random.randint(-200, 800)
         self.speed = 2.8 if is_leader else random.uniform(1.3, 2.1)
         self.direction = "forward"
         self.looking = "forward"
         self.moving = True
         self.stopped = False
         self.size = 48 if is_leader else random.randint(24, 40)
         self.color = (220, 20, 20) if is_leader else (
             random.randint(40,255), random.randint(40,255), random.randint(40,255)
         )
         self.action = "walking"
         self.timer = 0
     # Movement
     def walk_left(self):
         if not self.stopped:
             self.direction = "left"
             self.x -= self.speed
     def walk_right(self):
         if not self.stopped:
             self.direction = "right"
             self.x += self.speed
     def walk_up(self):
         if not self.stopped:
             self.direction = "up"
             self.y -= self.speed
     def walk_down(self):
         if not self.stopped:
             self.direction = "down"
             self.y += self.speed
     def run(self):
         if not self.stopped:
             s = self.speed * 1.8
             if self.direction == "left": self.x -= s
             elif self.direction == "right": self.x += s
             elif self.direction == "up": self.y -= s
             elif self.direction == "down": self.y += s
     def stop(self):
         self.stopped = True
         self.moving = False
     # Look
     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_front(self): self.looking = "front"
     # Gross actions
     def poop(self): self.action = "pooping"
     def fart(self): self.action = "farting"
     def puke(self): self.action = "puking"
     def pee(self): self.action = "peeing"
     def burp(self): self.action = "burping"
     # Update
     def update(self, leader_x, leader_y, keys):
         self.timer += 1
         # YOU CONTROL LEADER
         if self.is_leader:
             if keys[pygame.K_LEFT]: self.walk_left()
             if keys[pygame.K_RIGHT]: self.walk_right()
             if keys[pygame.K_UP]: self.walk_up()
             if keys[pygame.K_DOWN]: self.walk_down()
             if keys[pygame.K_LSHIFT]: self.run()
             if keys[pygame.K_SPACE]: self.stop()
             if keys[pygame.K_1]: self.look_left()
             if keys[pygame.K_2]: self.look_right()
             if keys[pygame.K_3]: self.look_up()
             if keys[pygame.K_4]: self.look_down()
             if keys[pygame.K_5]: self.look_front()
             if keys[pygame.K_p]: self.poop()
             if keys[pygame.K_f]: self.fart()
             if keys[pygame.K_u]: self.puke()
             if keys[pygame.K_e]: self.pee()
             if keys[pygame.K_b]: self.burp()
         # OTHERS FOLLOW YOU
         else:
             dx = leader_x - self.x
             dy = leader_y - self.y
             dist = (dx**2 + dy**2)**0.5
             if dist > 70:
                 self.x += (dx / dist) * self.speed
                 self.y += (dy / dist) * self.speed
             # Random gross stuff
             if self.timer > random.randint(70, 200):
                 self.timer = 0
                 r = random.randint(1,5)
                 if r == 1: self.poop()
                 elif r == 2: self.fart()
                 elif r == 3: self.puke()
                 elif r == 4: self.pee()
                 elif r == 5: self.burp()
         # Keep in screen
         self.x = max(10, min(790, self.x))
         self.y = max(10, min(590, self.y))
     # Draw
     def draw(self, screen):
         pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size)
         # Eyes
         ox, oy = 0,0
         if self.looking == "left": ox=-6
         elif self.looking == "right": ox=6
         elif self.looking == "up": oy=-6
         elif self.looking == "down": oy=6
         pygame.draw.circle(screen, (255,255,255), (int(self.x-5+ox), int(self.y-4+oy)), 4)
         pygame.draw.circle(screen, (255,255,255), (int(self.x+5+ox), int(self.y-4+oy)), 4)
         # Mouth / Action
         if self.action in ["pooping","farting","puking","peeing"]:
             pygame.draw.arc(screen, (0,0,0), [self.x-8, self.y, 16, 10], 3.14, 6.28, 3)
         else:
             pygame.draw.arc(screen, (0,0,0), [self.x-8, self.y+3, 16, 10], 0, 3.14, 3)
 # --------------------------
 # 🚀 MAIN GAME
 # --------------------------
 def main():
     pygame.init()
     screen = pygame.display.set_mode((800, 600))
     pygame.display.set_caption("AXEL'S FUGGLER WORLD")
     clock = pygame.time.Clock()
     big_font = pygame.font.SysFont("Arial", 50

Game Source: import pygame import random import sys # ----------------

Creator: QuantumBolt10

Libraries: none

Complexity: moderate (157 lines, 6.0 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: import-pygame-import-random-import-sys-quantumbolt10" to link back to the original. Then publish at arcadelab.ai/publish.