Python Tutorial
- jetzt Python programmieren lernen

Kollisionskontrolle Ball und Schläger

Jetzt kommt die Spiellogik, wenn der Ball den Schläger trifft. Hierzu haben wir ähnlich wie bei dem Ereignis, wenn der Ball die Mauersteine, trifft mehrere Fälle.

Der Ball trifft:

  • gerade auf dem Schläger auf
  • der Ball trifft das Eck des Schlägers

Wenn der Ball auf die gerade Fläche des Schlägers auftrifft, wird dieser im entsprechenden Winkel abgeschmettert.

Wenn der Ball auf die Kante trifft, fliegt er auf der gleichen Linie zurück.

Machen wir den ersten Fall:

Ball trifft gerade auf Schläger

Unser Schläger bewegt sich horizontal auf der Höhe von spielfigur_1_y = 28. Daher müssen wir nur kontrollieren, wenn der Ball sich abwärts bewegt und sich auf der Ebene 27 befindet:

    # Ball trifft Schläger
    # Kontrolle auf möglich Kollision
    if ball_y == 27 and ball_y_richtung == 1:
        print("Kontrolle auf Kollsion mit Schläger")

Wir haben von unserem Schläger die Position spielfigur_1_x und wissen, dass der Schläger 3 Felder breit ist. Daher können wir die folgenden Berechnungen machen:

    # Ball trifft Schläger
    # Kontrolle auf möglich Kollision
    if ball_y == 27 and ball_y_richtung == 1:
        print("Kontrolle auf Kollision mit Schläger")

        # Ball kommt von links:
        if ball_x_richtung == 1:
            print("Ball kommt von links")
            if ball_x+1 >= spielfigur_1_x and ball_x+1 <= spielfigur_1_x+3:
                print("Ball trifft Schläger")
                ball_y_richtung = -1

        # Ball kommt von rechts:
        if ball_x_richtung == -1:
            print("Ball kommt von rechts")
            if ball_x-1 >= spielfigur_1_x and ball_x-1 <= spielfigur_1_x+3:
                print("Ball trifft Schläger")
                ball_y_richtung = -1 

Wer nun Spaß hat, kann das Auftreffen auf der Kante noch berücksichtigen, was die Flugrichtung des Balls beeinflussen sollte. Er sollte dann in der gleichen Richtung zurückfliegen.

Wenn das Spiel zu schwierig ist, würde das Vergrößern des Schlägers helfen.

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Das neue E-Book zum Kurs gibt es zum Kaufen.

Sie können uns auch eine Spende über PayPal zukommen lassen.

Bestellen Sie Bücher über folgenden Link bei Amazon:
Bücher über Python

Vielen Dank für Ihre Unterstützung