EnableExplicit
Global d=9,f,b,m,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString("+-<>.,[]",h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
EnableExplicit
Global d=9,f,b,m,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
While b
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Wend
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString("+-<>.,[]",h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
7x7 hat geschrieben:Wie soll denn der Code überhaupt auf Lauffähigkeit überprüft werden?
Habe keine Ahnung von BrainFuck-Programmierung (überhaupt halte ich diesen Code nicht für besonders PureGolf-geeignet)
Das ist der Knackpunkt.
Wenn ihr Mitspieler wollt, muss schon was besseres als so ein Käse her.
Bei PureGolf will man Kürzen und schnell testen.
Und nicht noch irgendeinen Quark in eine Konsole tippen...
Ausserdem finde ich EnableExplicit auch ziemlich unangebracht bei PureGolf.
7x7 hat geschrieben:Wie soll denn der Code überhaupt auf Lauffähigkeit überprüft werden?
Habe keine Ahnung von BrainFuck-Programmierung (überhaupt halte ich diesen Code nicht für besonders PureGolf-geeignet)
Das ist der Knackpunkt.
Wenn ihr Mitspieler wollt, muss schon was besseres als so ein Käse her.
Bei PureGolf will man Kürzen und schnell testen.
Und nicht noch irgendeinen Quark in eine Konsole tippen...
Ausserdem finde ich EnableExplicit auch ziemlich unangebracht bei PureGolf.
EnableExplicit
Global d=9,f,b,m=1,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
While b
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Wend
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
h=i
W
b=0
While h
h=Mid(i,m,1)
m+1
If FindString("+-<>.,[]",h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Wend
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
EnableExplicit
Global d=9,f,b,m=1,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
While b
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Wend
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
h=i
W
While h
h=Mid(i,m,1)
m+1
If FindString("+-<>.,[]",h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Wend
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
EnableExplicit
Global d=9,f,b,m=1,n,c.s,h.s,i.s
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
While b
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Wend
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
h=i
W
While h
h=Mid(i,m,1)
m+1
If FindString("+-<>.,[]",h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Wend
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
Z(k(f)XOr 1)
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")