Die Suche ergab 54 Treffer

von Patsche
Donnerstag 28. November 2024, 00:21
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Einer Methode die aktuelle Zeit übergeben
Antworten: 5
Zugriffe: 23198

Re: Einer Methode die aktuelle Zeit übergeben

Ok. Wiedereinmal vielen Dank. Ich werde mal sehen, wie ich das umbaue.
Also sollten die Klassen vor die Hauptschleife des Programmes?

Dann habe ich zum Beispiel Probleme den Spieler zu setzen, weil ich dort schon auf Funktionen von pygame zurückgreife, die erst in der Hauptschleife initialisiert ...
von Patsche
Mittwoch 27. November 2024, 21:50
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Einer Methode die aktuelle Zeit übergeben
Antworten: 5
Zugriffe: 23198

Re: Einer Methode die aktuelle Zeit übergeben


Die Klasse sieht komisch eingerückt aus, das ``class`` sollte direkt am Zeilenanfang stehen.

So sieht der Code über der ersten Klasse aus:
#!/usr/bin/env python3

import pygame, gif_pygame, random, time

# initialisieren von pygame
pygame.init()
print("---- Initialisierung gestartet ...
von Patsche
Mittwoch 27. November 2024, 20:40
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Einer Methode die aktuelle Zeit übergeben
Antworten: 5
Zugriffe: 23198

Einer Methode die aktuelle Zeit übergeben

Moin!

Ich habe hier folgende Funktion der Klasse "Bullet":
def collision(self, window):
if self.rect.colliderect(player):
self.rect.center = (random.randint(0 + BORDER, aufloesung.current_w - BORDER), 0)
player.life -= self.damage
collidetime = time.time()
print (collidetime)
player.hurt ...
von Patsche
Sonntag 24. November 2024, 22:58
Forum: Allgemeine Fragen
Thema: Programmieranfänger bittet um Hilfe
Antworten: 4
Zugriffe: 2389

Re: Programmieranfänger bittet um Hilfe

Wenn du komplett neu bist, dann kann ich dir die Youtubevideos von "Programmieren Starten" empfehlen.

https://www.youtube.com/watch?v=oxXAb8I ... AQ74D0TqZB
von Patsche
Samstag 23. November 2024, 19:27
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Wow.....vielen Dank für die Hile @__blackjack__ und natürlich an die anderen Helfer.
Ich werde mir das mal genauer ansehen und ausprobieren.

Mir raucht schon der Kopf. Mir kommen immer wieder neue Ideen, wo man erstmal die Doku lesen und es dann ausprobieren muss.
Habe jetzt entdeckt, dass es ein ...
von Patsche
Samstag 23. November 2024, 14:26
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Oha....schon viel neuer Input.
Danke dafür.

Die einzelnen enemies Gruppen erstelle ich gerade so:

# Klassen verwenden
player = Player(aufloesung.current_w // 2, aufloesung.current_h - 130, 20, player_img)

enemies1 = [Enemy(random.randint(100, 1800), random.randint(-4500, -200), 1, 1, alien1 ...
von Patsche
Samstag 23. November 2024, 12:42
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben


wenn ich das richtig interpretiere, ist nach dem erstellen von `boss_enemy` die Figur außerhalb des Bildschirms und ich sehe keinen Codezeile in der du irgendwas mit `boss_enemy` machst.


Das ist richtig so, denn der alle Gegner kommen langsam von außerhalb des Bildschirm in das "window ...
von Patsche
Freitag 22. November 2024, 23:35
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Sooo....habe es jetzt so hinbekommen, wie ich es wollte.

Jetzt habe ich aber noch eine Frage:

Meine Enemy-Klasse sieht folgendermaßen aus:
class Enemy:
def __init__(self, x, y, speed, life, image):
self.x = x
self.y = y
self.speed = speed
self.life = life
self.image = image
self.width ...
von Patsche
Freitag 22. November 2024, 20:05
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Danke für die Hinweise.

Ich merke immer wieder, dass mich das ganze doch etwas überfordert. Man hangelt sich an irgendwelchen Tutorials lang und hören sie auf oder der Ersteller macht es falsch.
Ich versuche jetzt erstmal deine Hinweise abzuarbeiten.

Ich bekomme es beispielsweise nicht mit der ...
von Patsche
Freitag 22. November 2024, 18:33
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Re: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Ach.....ich habe schon den Fehler erkannt.
Ich muss den ganzen Teil in der Hauptschleife machen, da die Bullet Klasse überhaupt nicht mitbekommt, wo das player.rect aktuell ist.
Außerdem müsste es wenn dann so heißen:
bullet = Bullet(player.rect.x, player.rect.y, 5, bullet_img)
Also player mit ...
von Patsche
Freitag 22. November 2024, 17:42
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben
Antworten: 12
Zugriffe: 7661

Werte von einer Klasse einer Instanzierung einer anderen Klasse übergeben

Moin.
Lange ist es her, dass ich mich hier mal wieder zu Wort gemeldet habe. Ich bin mal wieder zu Pygame gekommen und möchte möchte eine Art Space Invader mit meinem Sohn programmieren.

Jetzt habe ich eine Klasse namens Player, die so aussieht:

class Player:
def __init__(self, x, y, move, image ...
von Patsche
Mittwoch 26. Juli 2023, 22:07
Forum: Allgemeine Fragen
Thema: xxxxx
Antworten: 7
Zugriffe: 1407

Re: xxxxx

x^5
von Patsche
Sonntag 23. Juli 2023, 10:19
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig


aber in dem 4 Spieler und 4 Äpfel Szenario hat man keine 8 Namen und schreibt man keine 16 Kollisionstest, sondern hat eine Liste mit Spielern und eine Liste mit Äpfeln und zwei Schleifen die dann alle Äpfel gegen alle Spieler testet.

So?

coins = [Coin(pygame.Rect(random.randint(20, 700 ...
von Patsche
Sonntag 23. Juli 2023, 09:50
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig


@Patsche: Den Kollisionstest Spieler mit Apfel (oder Äpfel) macht man einer Stelle die alle Spieler und Äpfel kennt. Also zum Beispiel in der `main()`-Funktion.

Ok. Dann habe ich das richtig verstanden.


Ich weiss nicht ob wir die ”Regel” das man keine Namen nummeriert schon ausführlicher ...
von Patsche
Samstag 22. Juli 2023, 20:25
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Achsoooo.....ich dachte genau dafür sind eben auch Klassen da.
In diesem Fall:
Wenn irgendein Spieler mit der Klasse Coin kollidiert, dann soll die und die Methode ausgeführt werden.
Das geht dann ja gar nicht und ist auch nicht so gewollt.
Sehe ich das jetzt richtig?
Das mache ich dann in der main ...
von Patsche
Samstag 22. Juli 2023, 18:34
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Super vielen Dank.
Das mit der Funktion ist ja auch nur eine Krücke gewesen.
Ich würde gerne wissen, wie ich das player.rect direkt an die Klasse Coin weiterreichen kann.
Das wäre doch die beste Lösung, oder nicht?
Ich finde dafür aber kein passendes Beispiel im Netz, wie ich das mache.
Ich finde ...
von Patsche
Samstag 22. Juli 2023, 18:08
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Wenn ich das richtig verstehe, dann mache ich das auch hier, in dem ich der Funktionen die nötigen Parameter mitgebe.
Das könnte also so aussehen:
def kollision(a, b):
if a.colliderect(b):
print("TREFFER")
c = pygame.Rect(random.randint(20, 700), random.randint(20, 500), 20, 20)
return c

In ...
von Patsche
Samstag 22. Juli 2023, 17:19
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Darf ich eigentlich innerhalb der main Funktion noch andere Funktionen definieren?
Der Grund ist der, dass ich jetzt eine Funktion mit der Kollisionsabfrage geschrieben haben, aber die Instanzierung der Klassen Player und Coin wird ja richtigerweise erst innerhalb der main-Funktion gemacht.

Wenn ...
von Patsche
Samstag 22. Juli 2023, 16:46
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Ich hatte mir halt gedacht, dass ich innerhalb der Klassen schon die Rechtecke definiere.
Und innerhalb des Objektes Münze möchte ich eine Kollisionsabfrage mit der Klasse Player machen.
Es soll nämlich unabhängig davon sein, ob Spieler 1 oder ein anderer Spieler die Münze berührt.

Wie kann ich ...
von Patsche
Samstag 22. Juli 2023, 16:14
Forum: Sonstige (Pygame, PyOpenGL, ...)
Thema: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig
Antworten: 22
Zugriffe: 15573

Re: [Pygame] Objektorientierte Steuerung von 2 Klassen gleichzeitig

Danke für die Hilfe.
Ich habe mal deinen Code etwas abgeändert, sodass die Figur jetzt dauerhaft läuft.
Auch habe ich eine Klasse namens Coin angelegt.
Jetzt weiß ich aber wieder nicht, wie ich die Kollisionsabrage Klassenübergreifend mache.
Hier mal der Code:
#!/usr/bin/env python3
import pygame ...