Seite 14 von 16

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

Verfasst: 19.04.2012 12:56
von 7x7
c4s hat geschrieben:Dann ist http://www.purebasic.fr/german/viewtopi ... 53#p301353 aktuell?
Ja, ich würde sagen, dieser Letzte mit 622 ist aktuell. Ausgenommen es gäbe Gegenstimmen.

Der Nächste, der einen Code postet, bitte "40 i=h" vor "38 While PeekA(m)" setzen, damit dieser Bug endlich weg ist.

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

Verfasst: 19.04.2012 13:56
von NicTheQuick
7x7 hat geschrieben:
c4s hat geschrieben:@7x7
Trotzdem wird doch kein größeres Array benötigt?! Bitte erklären. :o
Eigentlich...hast Recht! :mrgreen:

Hatte nämlich in einer früheren Phase auch schon mal diesen Gedanken, aber wieder verworfen aus o.g.Gründen. Hatte
aber nicht überrissen, dass der Brainfuck-Code davon gar nicht tangiert wird.

Also, wenn sonst niemand Einwände hat, passt's :D
Ich hab einen Einwand. Natürlich kann man einen Brainfuck-Code mit Schleifen schreiben, der auf mehr Speicherzellen zugreift als er lang ist. Es muss nur > öfter aufgerufen werden als der Code lang ist. Dafür habe ich nur gerade keinen Code da.

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

Verfasst: 19.04.2012 14:04
von Sirius-2337
NicTheQuick hat geschrieben:
7x7 hat geschrieben:
c4s hat geschrieben:@7x7
Trotzdem wird doch kein größeres Array benötigt?! Bitte erklären. :o
Eigentlich...hast Recht! :mrgreen:

Hatte nämlich in einer früheren Phase auch schon mal diesen Gedanken, aber wieder verworfen aus o.g.Gründen. Hatte
aber nicht überrissen, dass der Brainfuck-Code davon gar nicht tangiert wird.

Also, wenn sonst niemand Einwände hat, passt's :D
Ich hab einen Einwand. Natürlich kann man einen Brainfuck-Code mit Schleifen schreiben, der auf mehr Speicherzellen zugreift als er lang ist. Es muss nur > öfter aufgerufen werden als der Code lang ist. Dafür habe ich nur gerade keinen Code da.
Der einfachste Code wäre dieser, welcher gleichzeitig Sinn- und Endlos ist

Code: Alles auswählen

+[>+]
Ich bin mir allerdings nicht sicher ob es möglich ist einen Code zu schreiben der mehr Speicherzellen braucht als er lang ist und nicht in einer Endlosschleife endet, allerdings hab ich auch nicht viel Ahnung von Brainfuck (Wer hat das Schon? :lol: )

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

Verfasst: 19.04.2012 15:57
von 7x7
Welcher Code soll denn nun der aktuell gültige sein?

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

Verfasst: 19.04.2012 16:45
von Sirius-2337
7x7 hat geschrieben:Welcher Code soll denn nun der aktuell gültige sein?
Meiner natürlich! :mrgreen:

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

Verfasst: 19.04.2012 18:45
von 7x7
Also, ich bin auch dafür, dass der letzte Code von Sirius der Stand der Dinge sein soll. Sorry, c4s!

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

Verfasst: 19.04.2012 21:13
von 7x7
Wie schaut's aus Leute...ist die Luft schon draussen? :mrgreen:

(Habe auch alle Änderungen von c4s rückgängig gemacht und den Bug i=h korrigiert. Funktioniert jetzt
wieder wie es soll)

622

Code: Alles auswählen

EnableExplicit
Global a,d,f,j,m,n,h.s,c.s=h,i.s
Macro U
h=Input()
EndMacro
Macro W
EndIf
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If ReadFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
h=i
While h
m+1
h=Mid(i,m,1)
n=FindString("+-<>.,[]",h)
If n
c+h
W
j-n/7*(n*2-15)
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
i=h
While PeekA(m)
n=PeekA(m)-44
If n<2
k(f)-n
W
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>46
a=(k(f)XOr n/49)!1*(48-n)
j=a
While j
m+a
j-((PeekA(m)/23)!3-3)/3
Wend
ElseIf n>2
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+#LF$+"Press ENTER To exit")
U

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

Verfasst: 19.04.2012 23:33
von STARGÅTE
7x7 hat geschrieben:Wie schaut's aus Leute...ist die Luft schon draussen?
Es reicht doch wenn ich den letzten Post mache, und noch habe ich zwei Kürzungen im Ärmel :twisted:
Aber ich lasse gerne erst mal anderen die restliche Arbeit :twisted:

Im übrigen Zählt dein Code nicht, da er die Ausgabe verändert!
das RSet("Press ENTER to exit",22,#LF$) muss schon da bleiben, denn es sind nun mal 3 LFs und nicht nur eins !

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

Verfasst: 20.04.2012 08:22
von Sirius-2337
STARGÅTE hat geschrieben: Im übrigen Zählt dein Code nicht, da er die Ausgabe verändert!
das RSet("Press ENTER to exit",22,#LF$) muss schon da bleiben, denn es sind nun mal 3 LFs und nicht nur eins !
Das heist mein Code ist noch der Aktuelle?
Dann hab ich gewonnen^^, seit 24 Stunden ist kein kürzerer gültiger Code gepostet worden.

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

Verfasst: 20.04.2012 08:37
von 7x7
Sirius-2337 hat geschrieben:Dann hab ich gewonnen^^, seit 24 Stunden ist kein kürzerer gültiger Code gepostet worden.
Das sehe ich genauso. Herzlichen Glückwunsch zum "PureGolf-Master 2012" :allright: