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 ...
Die Suche ergab 54 Treffer
- Donnerstag 28. November 2024, 00:21
- Forum: Sonstige (Pygame, PyOpenGL, ...)
- Thema: Einer Methode die aktuelle Zeit übergeben
- Antworten: 5
- Zugriffe: 23198
- 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 ...
- 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 ...
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 ...
- 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
https://www.youtube.com/watch?v=oxXAb8I ... AQ74D0TqZB
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- Mittwoch 26. Juli 2023, 22:07
- Forum: Allgemeine Fragen
- Thema: xxxxx
- Antworten: 7
- Zugriffe: 1407
Re: xxxxx
x^5
- 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 ...
- 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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...