Waffen wechseln

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Backbuffer

Betreff: Waffen wechseln

BeitragSa, Jul 26, 2008 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
ich programmiere einen Space-Shooter bei dem der Spieler zwischen mehreren Waffen hin und herwechseln kann. Das Problem ist, dass der Spieler nicht zwingend alle Waffen besitzt und so geprüft werden muss, ob er überhaupt im Besitz der Waffe ist.

Beispiel:
Es gibt 5 Waffen und der Spieler besitzt Waffe 1, 3 und 5. Mit jedem Tastendruck soll die Waffe durchwechseln (1,3,5,1,3,5,1 usw).

Vielleicht liegt es daran, dass es schon spät ist, aber irgendwie probiere ich hier jetzt schon ewig mit irgendwelchen if-Konstruktionen zu arbeiten, doch ohne Erfolg.

kriD

BeitragSo, Jul 27, 2008 0:45
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du die waffen durch types definiert? oder in arrays?

prinzipiell läuft es so ab, das jede waffe ne nummer hat und du hast ne variable (aktive_waffe zB), die die nummer der waffe speichert, die gerade in gebrauch ist.

bei types suchst du dann solange die types durch (after), bis du den eintrag mit der nummer der variable gefunden hast (if info\waffe_nummer=aktive_waffe).
bei arrays ist es noch einfacher, denn dort kannst du den gesuchten eintrag sofort ohne after oder before ansprechen, zB: waffe (aktive_waffe).

dann hast du die gewünschte waffe und kannst deren eigenschaften abfragen.

du kannst die waffen auch mit select case abfragen:

Code: [AUSKLAPPEN]

select aktive_waffe
case 1
;shotgun
case 2
;maschienengewehr
.
.
end select


nach case steht dann jeweils die effekte dieser waffe..

wenn eine waffe nicht verfügbar ist, dann machst du für jede waffe halt noch ne variable aktiv-oder-nicht (also bei types nochmal: field waffe_aktiv o.ä).
wenn waffe nicht aktiv ist, dann sieht das programm dies anhand dieser variable und du kannst das auswählen verhindern/eine waffe weiterscrollen.

hoffe, ich konnte helfen..(wenns nich verständlich is, liegts vlt daran, das ich immom n bissl müde bin Very Happy)

lg kriD
Wenn ich du wäre, wäre ich lieber ich!

garret

BeitragSo, Jul 27, 2008 0:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde spontan ein Feld oder Blitz-Array vorschlagen, das sich merkt, ob eine Waffe vorhanden ist, z.B. Dim WaffeVorhanden(4)

Dazu eine Variable, die die aktuelle Waffe speichert, z.B. AktuelleWaffe = 0

Drückt man die Waffenwechseltaste, wird die Abfrage solange erhöht, bis eine Waffe gefunden wurde, die vorhanden ist:

Code: [AUSKLAPPEN]

Dim WaffeVorhanden(4)

If KeyHit(WaffenwechselTaste)
  Repeat
    KontrollVariable = False
    AktuelleWaffe = AktuelleWaffe + 1
    If AktuelleWaffe > 4 Then AktuelleWaffe = 0
    If WaffeVorhanden(AktuelleWaffe) = 1 Then KontrollVariable = True
  Until KontrollVariable = True
EndIf


MfG, garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)
 

Backbuffer

BeitragSo, Jul 27, 2008 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe. Hab's jetzt geschafft. Stand gestern abend einfach nur auf dem Schlauch.

Da hier auf Blitzarrays angesprochen wurden. Wie fülle ich solche am besten mit Werten. Angenommen ich hätte ein Blitzarray für Waffen mit unterschiedlichen Werten (Schaden, Reichweite, Energiekosten usw.) könnte ich das ja in Weapon[] speichern. Aber wie weise ich am effektivsten die Werte zu? Mit data?

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group