Problem mit Eigenschaften von Print

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

progger3D

Betreff: Problem mit Eigenschaften von Print

BeitragDo, Jun 24, 2010 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist mein Code:Code: [AUSKLAPPEN]
Graphics 201,480,0,2
SetBuffer BackBuffer()
Global y=0
x1=1
x2=2
x3=3
x4=4
x5=5
x6=6
x7=7
x8=8
x9=9
x10=10
x11=11
x12=12
x13=13
x14=14
x15=15
x16=16
x17=17
x18=18
x19=19
x20=20

DebugLog "VariablenZuweisung: positiv"   
                       
Repeat
   If  x1 Mod 10 = x2 Mod 10 = x3 Mod 10 = x4 Mod 10 = x5 Mod 10 = x6 Mod 10 = x6  = x7 Mod 10 = x8 Mod 10 = x9 Mod 10 = x10 Mod 10 = x11 Mod 10 = x12 Mod 10 = x12 Mod 10 = x13 Mod 10 = x14 Mod 10 = x15 Mod 10 = x16 Mod 10 = x17 Mod 10 = x18 Mod 10=x19 Mod 10=x20 Then
      Exit
   Else
   
      x1=x1+1
      x2=x2+2
      x3=x3+3
      x4=x4+4
      x5=x5+5
      x6=x6+6
      x7=x7+7
      x8=x8+8
      x9=x9+9
      x10=x10+10
      x11=x11+11
      x12=x12+12
      x13=x13+13
      x14=x14+14
      x15=x15+15
      x16=x16+16
      x17=x17+17
      x18=x18+18
      x19=x19+19
      x20=x20+20
   EndIf
   Locate 0,0
   Print x1 Mod 10   
   Locate 10,0
   Print x2 Mod 10   
   Locate 20,0
   Print x3 Mod 10   
   Locate 30,0
   Print x4 Mod 10
   Locate 40,0   
   Print x5 Mod 10   
   Locate 50,0
   Print x6 Mod 10   
   Locate 60,0
   Print x7 Mod 10   
   Locate 70,0
   Print x8 Mod 10
   Locate 80,0   
   Print x9 Mod 10
   Locate 90,0   
   Print x10 Mod 10
   Locate 100,0   
   Print x11 Mod 10
   Locate 110,0   
   Print x12 Mod 10
   Locate 120,0   
   Print x13 Mod 10
   Locate 130,0   
   Print x14 Mod 10
   Locate 140,0   
   Print x15 Mod 10
   Locate 150,0   
   Print x16 Mod 10
   Locate 160,0   
   Print x17 Mod 10
   Locate 170,0   
   Print x18 Mod 10
   Locate 180,0   
   Print x19 Mod 10
   Locate 190,0   
   Print x20 Mod 10
   Flip   
   Cls
   y=y+1
   If y=1
      DebugLog "VariablenAusgabe: positiv"
   EndIf
Forever

   Line 1,1,200,1
   Line 1,15,200,15
   Line 1,1,1,15
   Line 200,1,200,15
      
   DebugLog "VariablenAbfrage: positiv"
WaitKey
End


Dieser lässt einen Code auf dem Bildschirm erscheinen und wenn alle Zahlen gleich sind stoppt es!
Ich möchte es jetzt aber es so hinbekommen, dass es wie wenn ichCode: [AUSKLAPPEN]
Print x=x+1

Alle Zahlen unter einander schreiben:
Code: [AUSKLAPPEN]

4
3
2
[..]


Aber wie???

Starwar

BeitragDo, Jun 24, 2010 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst nicht in einen Prozeduraufruf eine Variablenzuweisung stecken.
"Print x=x+1"
muss heißen:
Code: [AUSKLAPPEN]
x=x+1
Print x


Und das ganze in einer For-Schleife:
Code: [AUSKLAPPEN]
For x=0 to 4
   Print x
Next



Tip: Locate und Print gegen Text ersetzen.
MFG
  • Zuletzt bearbeitet von Starwar am Do, Jun 24, 2010 21:39, insgesamt einmal bearbeitet

Xeres

Moderator

BeitragDo, Jun 24, 2010 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du zwanzig Variablen verwenden willst, benutze DIM
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)
 

progger3D

BeitragDo, Jun 24, 2010 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit "Print x=x+1" hab ich nur zur Veranschaulichung genommen.
Außerdem hilft "Text".
Die Zahl wir immer noch durch die nächste ersetzt:Code: [AUSKLAPPEN]

0

dann
Code: [AUSKLAPPEN]
1

[...]

Ich möchte aber:
Code: [AUSKLAPPEN]

1
0

Starwar

BeitragDo, Jun 24, 2010 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe nicht worauf du mit dem ganzen "wirren" Code hin willst. So viele Variablen... So viel If und Mod.
Was ist dein Ziel, im gesamten?
Versuche mit Dim zu arbeiten, dann entdeckst du den Fehler eher, weil es übersichtlicher wird.
Ich weiß einfach nicht worauf du hinaus willst. Rolling Eyes
MFG

Wegen dem If: Was willst du da erreichen? (And Or)

Thunder

BeitragDo, Jun 24, 2010 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube, du solltest das ganze nochmal erklären - und zwar durchdacht, weil ich nicht glaube, dass das irgendjemand versteht. Für die vielen Variablen hat dir Xeres den guten Tipp mit Dim gegeben.
So viele Variablen kannst du auf diese Weise nicht effizient bearbeiten. Mit Dim wird dein Code um einige Zeilen kürzer.
Übrigens wird dir "Print x=x+1" immer 0 ausspucken, weil x nie x+1 ist.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

das wurgel

BeitragFr, Jun 25, 2010 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde das garnicht so schwer zu verstehen was der Code machen soll.

@ progger3D
1. Man kann nicht mehrere Gleichheitsprüfungen aufreihen. Wenn du z.B. schreibst
Code: [AUSKLAPPEN]
If 5=5=5 Then...

prüft der Computer erst ob 5=5 ist. 5=5 ist wahr. Wahr ist in BlitzBasic 1. Dann prüft der Computer ob 1=5 ist, das ist falsch, also 0. Das Untenstehende wird nicht ausgeführt, weil die Bedingung falsch ist. Um mehrere Bedingungen gleichzeitig zu prüfen, benutze den And-Operator.
Code: [AUSKLAPPEN]
If a=b And b=c Then...

2. Benutze Dim, damit wird der Code viel übersichtlicher und kürzer.
Beweis:
Code: [AUSKLAPPEN]
Graphics 201,480,0,2
SetBuffer BackBuffer()
Global y=0

Dim x(19)
For i=0 To 19
   x(i)=i
Next

DebugLog "VariablenZuweisung: positiv"   

Repeat
   Local allegleich=1
   For i=1 To 19
      If x(i-1) Mod 10<>x(i) Mod 10 Then allegleich=0
   Next
   
   If allegleich Then
      Exit
   Else
      Delay 200
      For i=0 To 19
         x(i)=x(i)+i+1
      Next
   EndIf    
   
   Cls
   For i=0 To 19
      Locate i*10, 0
      Print x(i) Mod 10
   Next
   Flip
   
   y=y+1
   If y=1
      DebugLog "VariablenAusgabe: positiv"
   EndIf
Forever

Line 1,1,200,1
Line 1,15,200,15
Line 1,1,1,15
Line 200,1,200,15

Flip

DebugLog "VariablenAbfrage: positiv"
WaitKey
End
1 ist ungefähr 3
 

progger3D

BeitragSa, Jun 26, 2010 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke! Laughing

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group