Zielscheiben?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Raiden93

Betreff: Zielscheiben?

BeitragSa, Dez 25, 2010 7:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey,
ich habe vor ein kleines Minigame für mich zu Programmieren.
Ich habe 3 Zielscheiben die hin und her wandern sollen, doch leider gehen sie nur in einer Richtung und dann nicht mehr zurück.Und da ist der hacken ich weiß nicht wie ich es hinkriege, das meine Zielscheiben sich hin und her bewegen.
Code: [AUSKLAPPEN]
Function MODUS_Function()
   For Gegner.GegnerTyp = Each GegnerTyp
      Select Gegner\MODUS
         Case 1
            If Gegner\X >= 0 And Gegner\X <= 750
               If Gegner\Zufall = 1
                  Gegner\X = Gegner\X +Gegner\SPEED
                ElseIf Gegner\Zufall = 2
                  Gegner\X = Gegner\X -Gegner\SPEED
               End If
            End If
      End Select
   Next
End Function

Hubsi

BeitragSa, Dez 25, 2010 7:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das gegner\speed dafür verwenden würde ich sagen. Etwa in der Form:

BlitzBasic: [AUSKLAPPEN]
If gegner_soll_umdrehen
gegner\speed=gegner\speed*-1
EndIf


Und bei der Bewegung wird ausschließlich addiert. Fertig ist die Laube Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Raiden93

BeitragSa, Dez 25, 2010 7:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja so schlau bin ich ja wohl auch xD nur das Problem liegt beim >= Zeichen.
Er bleibt einfach hängen weil sobald es nicht mehr 750 sondern 749 ist, schwänkt es wieder um.

Hubsi

BeitragSa, Dez 25, 2010 7:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Raiden93 hat Folgendes geschrieben:
Ja so schlau bin ich ja wohl auch

Warum hast Du es dann so verkompliziert? Wink Ich habe gehofft wenn Du den Teil erstmal entwirrst siehst Du den Fehler ohnehin von selbst. Der Gegner dreht immer dann um wenn er größer 0 und kleiner 750 ist, oder wie wird zufall gerechnet?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Raiden93

BeitragSa, Dez 25, 2010 7:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Zufall hat mit der Gegner Erstellung zu tun.
Code: [AUSKLAPPEN]
Function Gegner_Erstellen()
   If Gegner_Refresh = True
      Gegner_Refresh = False
      Select Level
         Case 1
            For i=1 To 3
               Gegner.GegnerTyp = New GegnerTyp
               Gegner\X = Rand(0,750)
               Gegner\Y = Rand(0,550)
               Gegner\SPEED = 1
               Gegner\MODUS = 1
               Gegner\Zufall = Rand(1,2)
               Gegner_Anzahl = Gegner_Anzahl +1
            Next
         Case 2
            For i=1 To 5
               Gegner.GegnerTyp = New GegnerTyp
               Gegner\X = Rand(0,750)
               Gegner\Y = Rand(0,550)
               Gegner\SPEED = 1
               Gegner\MODUS = 1
               Gegner\Zufall = Rand(1,2)
               Gegner_Anzahl = Gegner_Anzahl +1
            Next
      End Select
   End If
End Function

Hubsi

BeitragSa, Dez 25, 2010 8:01
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
If gegner\x<=0 Or gegner\x>=750
gegner\speed=gegner\speed*-1 ; So schlau bist Du ja :D (Scherz am Rande)
EndIf


Damit wäre gegner\zufall sinnfrei und kann raus und der Entscheidungskonstrukt für die Bewegung ebenso.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Raiden93

BeitragSa, Dez 25, 2010 8:23
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir Funktioniert es nicht :/
Code: [AUSKLAPPEN]
Function MODUS()
   For Gegner.GegnerTyp = Each GegnerTyp
      Select Gegner\MODUS
         Case 1
            If Gegner\X<=0 Or Gegner\X>=750
               Gegner\SPEED=Gegner\SPEED*-1 ; So schlau bist Du ja :D (Scherz am Rande)
            EndIf
      End Select
   Next
End Function



Aber so geht es! Very Happy GESCHAFFFFFT Very Happy
Code: [AUSKLAPPEN]
Function MODUS()
   For Gegner.GegnerTyp = Each GegnerTyp
      Select Gegner\MODUS
         Case 1
            If Gegner\Zufall = 1
               Gegner\X = Gegner\X +1
               If Gegner\X => 750
                  Gegner\Zufall = 2
               End If
            End If
               
            If Gegner\Zufall = 2
               Gegner\X = Gegner\X -1
               If Gegner\X =< 0
                  Gegner\Zufall = 1
               End If
            End If
      End Select
   Next
End Function

Hubsi

BeitragSa, Dez 25, 2010 8:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Lass mich raten. So wie ich Dich "kenne" bewegt sich der Gegner nun gar nicht mehr? Mr. Green Das genaue Problem aktuell beschreibst Du ja nicht Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Raiden93

BeitragSa, Dez 25, 2010 9:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein es Funzt jetzt alles Very Happy

Hubsi

BeitragSa, Dez 25, 2010 9:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt schon, es bezog sich ja auf Deinen Post vor dem dazueditieren Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group