Dateien nach "/" hochladen

This commit is contained in:
2026-09-07 13:47:20 +00:00
commit 49c80ef0ea
5 changed files with 422 additions and 0 deletions
+83
View File
@@ -0,0 +1,83 @@
import math
import random
import time
class Kart:
def __init__(self, name, color, acceleration, vMax, handling):
self.vMax = vMax
self.name = name
self.color = color
self.speed = 0
self.rotation = 0
self.handling = handling
self.position = [0, 0]
self.acceleration = acceleration
self.lastRam = 0
def __str__(self):
return "Das Kart heißt:" + self.name
def acc(self, brk): #brk is true or false
if brk == False:
if self.speed < self.vMax:
self.speed += self.acceleration
elif brk:
if self.speed > -(self.vMax / 2):
self.speed -= self.acceleration * 0.5
else:
if self.speed != 0:
self.speed -= self.speed / 50
def turn(self, dir): #dir = 1 or -1
self.rotation += dir * self.handling
def pos(self):
self.position[0] += math.cos(math.radians(self.rotation)) * self.speed
self.position[1] += math.sin(math.radians(self.rotation)) * self.speed
def ram(self, other):
current = time.time()
if current - self.lastRam < 1:
return
self.lastRam = current
dx = self.position[0] - other.position[0]
dy = self.position[1] - other.position[1]
distance = math.sqrt(dx**2 + dy**2)
if distance <= 200 and distance > 0:
# Richtung vom anderen Kart zum eigenen Kart
direction_x = dx / distance
direction_y = dy / distance
# Beide Karts bekommen eine schnelle Bewegung
# aufeinander zu bzw. vom Zusammenstoß weg.
ramSpeed = 12
self.position[0] += direction_x * ramSpeed
self.position[1] += direction_y * ramSpeed
other.position[0] -= direction_x * ramSpeed
other.position[1] -= direction_y * ramSpeed
# Zufällige Drehung wie vorher
randrot = random.randint(-20, 20)
self.rotation += randrot
other.rotation -= randrot
class Item:
def __init__(self, type):
self.type = type
self.color = (255, 255, 255)
def typ(self):
if self.type == "pool":
self.color = (0, 0, 200)