Zahl an Variable hängen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lakorta

Betreff: Zahl an Variable hängen

BeitragMo, März 14, 2011 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ein Problem. Ich will bei umgehen, dass ich 3 mal die gleiche Schleife aufschreiben muss. Deshalb wollte ich das mit einer For...Next Schleife lösen. Allerdings weiß ich nicht genau, wie ich das machen soll. HIer der Code:
Code: [AUSKLAPPEN]


;---Gegner---
For i=1 To 3
   gegnercounter1=0
   For g1.gegner1=Each gegner1
      gegnercounter1=gegnercounter1+1
      g1\y=g1\y+g1\tmp
      
      DrawImage gegner1,g1\x,g1\y
      
      For s.schuss=Each schuss
         If s\friend=1
            If ImagesCollide(schuss,s\x,s\y,0,gegner1,g1\x,g1\y,0)
               g1\hp=g1\hp-s\dmg
               s\dead=1
               If g1\hp<=0
                  p_xp=p_xp+g1\xp
                  g1\dead=1
               EndIf
            EndIf
         EndIf
      Next
      
      If g1\lastshoot<(MilliSecs() And $7fFFffFF)
         create_schuss(g1\x,g1\y,2,g1\dmg,0)
         g1\lastshoot=(MilliSecs() And $7fFFffFF)+g1\feuerrate
      EndIf
      
      If g1\y>800 g1\dead=1
      
      If g1\dead=1 Delete g1.gegner1
   Next
Next


Nun will ich die 1 beim gegner gegen 'i' austauschen, ungefähr so:

If g1\dead=1 Delete g1.gegner1

soll zu

If gi\dead=1 Delete gi.gegneri

werden. Allerdings soll das i nicht zur Variable gehören, sondern es soll so sein, dass die stellvertretende Zahl (1,2 und 3) dort beim ausführen vom Programm gezählt werden soll. Ich glaube das sollte Verständlich gewesen sein^^

Hoffe auf Hilfe, schonmal danke im vorraus Very Happy
---

Xeres

Moderator

BeitragMo, März 14, 2011 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst so nicht direkt mit variablen umgehen, aber ein BlitzArray könntest du benutzen:
Code: [AUSKLAPPEN]
Local g[3].gegner1
If g[i]\dead=1 Delete g[i].gegner1
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Lakorta

BeitragMo, März 14, 2011 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, werde ich mal ausprobieren Very Happy
---

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group