Logikfehler

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

noodle

Betreff: Logikfehler

BeitragDi, Sep 02, 2008 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich habe aus Spass an der Freude mal ein kleines Spiel programmiert.
Doch die Routine zur Überprüfung ob die Rohre richtig miteinander verbunden sind ist fehlerhaft und ich finde den Fehler einfach nicht.

Durch linkes Mausklicken auf eines der Rohre kann mann diese drehen.

Code: [AUSKLAPPEN]
;linkes Rohr wird überprüft
For newrohr.rohr = Each rohr
rohrtyp# = map(newrohr\x#, newrohr\y#)
rohrtyp2# = map(newrohr\x#-1, newrohr\y#)
If (rohrtyp2# = 3 Or rohrtyp2# = 7 Or rohrtyp2# = 8) And (rohrtyp# = 3 Or rohrtyp# = 5 Or rohrtyp# = 6) Then
For newrichtig.richtig = Each richtig
If newrohr\x# = newrichtig\x# And newrohr\y# = newrichtig\y# Then
newrichtig.richtig = New richtig
newrichtig\x# = newrohr\x# - 1
newrichtig\y# = newrohr\y#
End If
Next
End If
Next


zur Erklärung:
Mit dem type rohr speichere ich alle Rohre mit ihren x,y und Typ Variablen
in dem Beispielcode wird das links daneben liegende Rohr überprüft ob es an das Rohr passt. Die Zahlen ergeben sich aus dem Tileset, wobei man bei 0 anfägt zu zählen. Wenn das links neben liegende Rohr zu dem eigentlich Rohr passt und dasselbe richtig ist, wird das links daneben liegende Rohr auch richtig. Der Algorithmus ist manchmal korrekt und manchmal fehlerhaft. Ich habe aber keine Ahnung woran das liegt. Ich habe den ganzen Code nicht gepostet weil er relativ lang ist.


Ich hoffe ihr könnt mir helfen.


Hier die Datein für das Spiel
http://snaq.sn.funpic.de/spiel/tileset.png // Das Tielset
http://snaq.sn.funpic.de/spiel/spiel.exe // Das Spiel an sich

ToeB

BeitragDi, Sep 02, 2008 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde das nicht mit Types machen...Mach das gleich nur mit Arrays. Ist einfacher, weil man sofort ohne iwelche routinen herausfinden kann, welches rihr an position x/y liegt... So isses auch einfacher die verbindungen abzufragen...


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group