Wäre es nicht mal wieder an der Zeit...

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

732

Code: Alles auswählen

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("")
mirca
Beiträge: 169
Registriert: 13.11.2011 16:05

GELÖSCHT

Beitrag von mirca »

GELÖSCHT
Zuletzt geändert von mirca am 17.10.2013 11:19, insgesamt 1-mal geändert.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

mirca hat geschrieben:Ich verstehe den ganzen Code nicht ich weiss nicht mal was ich damit machen soll? Was muss ich den da in der Konsole eingeben?
Na Brainfuck Code. Siehe wiki.
Sirius-2337
Beiträge: 71
Registriert: 29.05.2010 20:55

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von Sirius-2337 »

728

Code: Alles auswählen

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("")
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von HeX0R »

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.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

HeX0R hat geschrieben:
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.
Gerne. Vorschläge?

Aber das hier machen wir trotzdem noch weiter. :)
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von c4s »

NicTheQuick hat geschrieben:Aber das hier machen wir trotzdem noch weiter. :)
Hm, ich glaube das geht nicht mehr kleiner. <)
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

c4s hat geschrieben:
NicTheQuick hat geschrieben:Aber das hier machen wir trotzdem noch weiter. :)
Hm, ich glaube das geht nicht mehr kleiner. <)
Sagt wer?
726

Code: Alles auswählen

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("")
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

723

Code: Alles auswählen

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("")
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von NicTheQuick »

///Edit:
721

Code: Alles auswählen

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("")
Jetzt wird's aber schon eng so langsam.
Antworten