Probleme mit Types...

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

bruce85

Betreff: Probleme mit Types...

BeitragDo, Aug 21, 2008 2:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe ein kleines problem, den ich irgendwie nicht lösen kann.

Ich habe ein Spielfeld wo ich Pfad an bestimmte stelle zeichne und wenn ein Pfad an der gleiche Position wie der Spieler ist, möchte ich diese Funktion verlassen.

Hier mal mein Code:
Code: [AUSKLAPPEN]
  For Info:Pfad = EachIn Pfad.List
    For Info2:TSpieler = EachIn TSpieler.List
      If Info.pfad_nr > 1 Then 'den ersten Pfad nicht prüfen
        If Spielfeld[Info.pfad_feld_x,Info.pfad_feld_y] = Spielfeld[Info2.spieler_feld_x,Info2.spieler_feld_y] Then
          'Spieler darf nicht über seine eigene Figur springen
          If Info2.spieler_nr = SpielerNr Then
            FehlerZug = 1 'Zug = ungültig
            Return False
          EndIf
        EndIf
      EndIf
    Next
  Next
  FehlerZug = 0


Das ist jetzt nur der Inhalt von der Funktion.
An manchen stellen im Spiel funktioniert der Code einwandfrei, aber nicht immer.

Ich habe schon andere möglichkeiten versucht, leider ohne erfolg.

Es wäre nett, wenn mir da einer nen Tip geben könnte, wie ich das ambesten lösen kann.

Ich bedanke mich schonmal im Voraus.

MfG
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

Dreamora

BeitragDo, Aug 21, 2008 2:26
Antworten mit Zitat
Benutzer-Profile anzeigen
der code funktioniert immer einwandfrei

die frage ist ob du ihn auch korrekt benutzt im restlichen code, speziell ob du die richtigen daten fütterst.

Global über irgendwas zu loopen mit eachin finde ich gefährlich bis schludrig.
übergib der funktion womit sie arbeiten soll, dann hast du einen definierten zustand. dann siehst du auch direkt ob die funktion futsch is oder der rest aussen rum.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

bruce85

BeitragDo, Aug 21, 2008 3:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Dir.

Ich habe die richtigen Daten gefüttert.

Ich hab die If anweisung von
Code: [AUSKLAPPEN]
If Spielfeld[Info.pfad_feld_x,Info.pfad_feld_y] = Spielfeld[Info2.spieler_feld_x,Info2.spieler_feld_y] Then

in
Code: [AUSKLAPPEN]
If Info.pfad_feld_x = Info2.spieler_feld_x And Info.pfad_feld_y = Info2.spieler_feld_y Then

geändert.

Ich möchte ja nicht die Frames prüfen, sondern die Feld Positionen und dann prüfe ich, ob auf diesem Feld der Spieler ist.

Jetzt funktioniert es.

MfG
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group