Skip to content

Instantly share code, notes, and snippets.

@f0ursqu4r3
f0ursqu4r3 / load_game_map_from_image.py
Created September 10, 2021 03:58
Loading a game map from a image file.
import pygame
class GameMap:
def __init__(self, path, tile_map_def):
self.map_surf = pygame.image.load(path)
self.tile_map_def = tile_map_def
self.map_data = self.load_map_image_from_surface()
self.width = self.map_surf.get_width()
self.height = self.map_surf.get_height()
import pygame
import math
from pygame import Vector2
pygame.init()
def intersect_line(P0, P1, Q0, Q1):
d = (P1[0]-P0[0]) * (Q1[1]-Q0[1]) + (P1[1]-P0[1]) * (Q0[0]-Q1[0])
if d == 0:
return None
@f0ursqu4r3
f0ursqu4r3 / bar.py
Created October 20, 2021 02:10
Bar class useful for progress or health bars
import pygame
from pygame import Vector2
from pygame import Vector3
from typing import Tuple
class Bar:
def __init__(self,
pos: Tuple[int, int],
size: Tuple[int, int],
color: Tuple[int, int, int],
@f0ursqu4r3
f0ursqu4r3 / pygame_main.py
Last active June 21, 2022 03:32
A starter template for pygame in python
import pygame
from pygame import Vector2
pygame.init()
class Game:
def __init__(self):
self.window_size = Vector2(512)
self.window = pygame.display.set_mode(self.window_size)
@f0ursqu4r3
f0ursqu4r3 / radial_menu.py
Last active October 26, 2021 17:22
pygame radial menu
import pygame
from pygame import Vector2
class RadialMenu:
def __init__(self, pos, radius=None, items=[], item_size=24, item_padding=0, speed=.05, callback=None, start_open=False):
self.pos = Vector2(pos)
self.radius = radius
self.item_size = item_size
self.item_padding = item_padding
self.items = items
@f0ursqu4r3
f0ursqu4r3 / vector_movement.py
Created November 18, 2021 11:41
vector movement
import pygame
from pygame import Vector2
pygame.init()
class Game:
def __init__(self):
self.window_size = Vector2(512)
self.window = pygame.display.set_mode(
@f0ursqu4r3
f0ursqu4r3 / angle_from_vec_proof.py
Last active November 22, 2021 12:10
Angle from vector proof example
import math
import pygame
import random
from pygame import Vector2
pygame.init()
class Game:
def __init__(self):
self.window_size = Vector2(512)
@f0ursqu4r3
f0ursqu4r3 / pygame_bullet_test_playground.py
Last active November 24, 2021 02:43
python pygame bullet test playground
import time
import math
import pygame
import random
from pygame import Vector2
pygame.init()
class Game:
def __init__(self):
@f0ursqu4r3
f0ursqu4r3 / particle_emitter.py
Created November 27, 2021 06:04
Not very efficient particle emitter
import random
import pygame
from pygame import Vector2
class ParticleEmitter:
__slots__ = [
'pos', 'vel', 'speed',
'particles', 'age', 'spawn_rate',
'last_spawn', 'shape', 'particle_class',
import pygame
from pygame import Vector2
pygame.init()
class Game:
def __init__(self):
self.window_size = Vector2(512)
self.window = pygame.display.set_mode(self.window_size)
pygame.display.set_caption('playground')