Wann wird eine IF Abfrage abgebrochen ?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Dottakopf

Betreff: Wann wird eine IF Abfrage abgebrochen ?

BeitragSo, Nov 28, 2010 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Biltzer!

weis jemand ab wann Blitz diese Abfrage abbricht ?


Code: [AUSKLAPPEN]

Wert = 0

IF Wert = 1   and    EntityDistance(Entity) < 1 then
 




verlässt der compiler schon die Zeile wenn Wert = 0 und führt die Rechenintesive Distanzprüfung nicht durch, oder wird trotzdem die Distanzprüfung mit durchgeackert ?

Gruß
Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Nov 28, 2010 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
es werden beide Bedingungen geprüft

Am besten eine verschachtelte Prüfung
Code: [AUSKLAPPEN]
IF Wert = 1   
If  EntityDistance(Entity) < 1 then

end if
end if


oder so,
allerdings geht hier die Übersicht etwas verloren
Code: [AUSKLAPPEN]
IF Wert = 1   If    EntityDistance(Entity) < 1 then
[BB2D | BB3D | BB+]

Dottakopf

BeitragSo, Nov 28, 2010 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
danke !

schade, wäre cool gewesen Smile
Rechtschreibfehler gelten der allgemeinen Belustigung!

Holzchopf

Meisterpacker

BeitragSo, Nov 28, 2010 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Stand meines Wissens optimiert BB da nicht optimal (ha ha)...

Kurz getestet:
BlitzBasic: [AUSKLAPPEN]
If Test1()=1 And Test2()=1 Then
Print "Sowieso falsch"
EndIf

WaitKey()
End

Function Test1()
Print "Test1 wird ausgeführt"
Return 0
End Function

Function Test2()
Print "Test2 wird ausgeführt"
Return 0
End Function


Und man sieht, dass sowieso beide Bedingungen geprüft werden. Mittel deiner Wahl ist in dem Fall also einfach das Verschachteln der Bedingungen:
BlitzBasic: [AUSKLAPPEN]
If Wert=1
If EntityDistance(Entity)<1
; hier dein Code
EndIf
EndIf


mfG
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Johannes´

BeitragSo, Nov 28, 2010 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein kleines Beispiel zeigt, dass die Abfrage auch nachfolgende Bedingungen prüft:

Code: [AUSKLAPPEN]
Function f()
   Delay 10000
   Return a
End Function

wert=0

If wert=1 And f() Then
EndIf

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Nov 28, 2010 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar wird geprüft. Es werden beide Ergebnisse aufgelöst und anschließend auf binärer Ebene verglichen.

Der Augen-Auf-Code: [AUSKLAPPEN]
Print (1 And 0)
Print (1 And 1)
Print (1 And 2)
Print (1 And 3)
Print "-"
Print (1 Or 0)
Print (1 Or 1)
Print (1 Or 2)
Print (1 Or 3)
Print "-"
Print (1=0)
Print (1=1)
Print (1=2)
Print (1=3)
Print "-"
Print (1>0)
Print (1>1)
Print (1>2)
Print (1>3)
WaitKey

Wink
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

FireballFlame

BeitragSo, Nov 28, 2010 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic prüft beide.
BlitzMax würde nur die erste prüfen.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

TimBo

BeitragSo, Nov 28, 2010 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ist es nicht so , dass in anderen Sprachen ein Unterschied zwischen And als Rechnung und And als Vergleichsoperator gibt?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Hummelpups

BeitragSo, Nov 28, 2010 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ja bei BMax muss man ja schon zwischen logisch und "And" und binär und "&" unterscheiden.
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

FireballFlame

BeitragDi, Nov 30, 2010 2:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ín C beispielsweise ist das logische Und "&&" und das binäre "&".

Leider fehlt das in BB.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group