Wäre es nicht mal wieder an der Zeit...
Re: Wäre es nicht mal wieder an der Zeit...
Wenn dieses "Spiel" vorbei ist, können wir vielleicht ein Performance-"Spiel" starten?
Das heißt: Man nimmt einen fertigen Code (irgendeine Berechnung/Verarbeitung von Daten) und man muss den Code immer wieder weiter optimieren, damit es beim Berechnen/Verarbeiten schnellerer ist, als der vorherige Code. Wie wärs damit?
Das heißt: Man nimmt einen fertigen Code (irgendeine Berechnung/Verarbeitung von Daten) und man muss den Code immer wieder weiter optimieren, damit es beim Berechnen/Verarbeiten schnellerer ist, als der vorherige Code. Wie wärs damit?
Re: Wäre es nicht mal wieder an der Zeit...
@RSBasic
Dann würde es wohl schnell in die ASM-Ecke rücken, oder?
Die Disziplin "möglichst kleiner Code" ist meiner Meinung nach bisher ziemlich spannend.
Dann würde es wohl schnell in die ASM-Ecke rücken, oder?
Die Disziplin "möglichst kleiner Code" ist meiner Meinung nach bisher ziemlich spannend.

"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
- NicTheQuick
- Ein Admin
- Beiträge: 8808
- 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...
Das muss deswegen nicht gleich in ASM abdriften, außer es wird noch reichlich SSE2, SSE3, usw. eingebaut. Bei manchen Problemen kann man auch schön Multithreading ausnutzen. Schwer wird nur zu sagen welcher Code besser ist, weil man dazu eine einheitliche Testmaschine braucht.
Re: Wäre es nicht mal wieder an der Zeit...
Stimmt.c4s hat geschrieben:Dann würde es wohl schnell in die ASM-Ecke rücken, oder?

Ja finde ich auch. Nur ist die Frage, was man danach so schönes machen kann. 7x7 hat ja bereits mit dem Spiel vorgeschlagen, nur das gleiche Thema mit dem Kürzen.c4s hat geschrieben:Die Disziplin "möglichst kleiner Code" ist meiner Meinung nach bisher ziemlich spannend.
Man könnte ja eine Regel wie "Keine ASM-Nutzung" aufstellen.NicTheQuick hat geschrieben:Das muss deswegen nicht gleich in ASM abdriften,
Stimmt, daran habe ich garnicht gedacht.NicTheQuick hat geschrieben:Schwer wird nur zu sagen welcher Code besser ist, weil man dazu eine einheitliche Testmaschine braucht.

Weitere Vorschläge: Überleg ich mir noch....^^
- NicTheQuick
- Ein Admin
- Beiträge: 8808
- 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...
Die Optimierung von "d+d*(f/d)" zu "d+1" ist eigentlich auch Mist, da vorher garantiert war, dass d nur vergrößert wird, wenn f auch größer geworden ist. Jetzt wird es bei jedem "<" und ">" in Brainfuck vergrößert, was nicht ganz Sinn der Sache ist. Möglich wäre noch "d+f/d" gewesen, aber jetzt ist es so und jeder von uns sollte auch genügend Speicher haben um ein bisschen Brainfuck ausführen zu können. 

Re: Wäre es nicht mal wieder an der Zeit...
So, nun ein paar Vorschläge:
-64 KB (oder weniger) Grafik-Demo
-Beste Benutzeroberfläche für eine bestimmte Anwendungsart entwickeln und anschließend eine Umfrage starten
-Bugs in PB finden
(diese können dann natürlich im engl. Forum gepostet werden)
-Programmierung eines Bots
-PB-Funktionen selber schreiben, d.h. man schreibt zum Beispiel seine eigene Funktion für Mid(), aber Mid() darf nicht verwendet werden
PS: Es sind nur Vorschläge.
\\Edit:
-Mit wenig festgelegten PB-Befehlen ein nützliches Programm schreiben
-64 KB (oder weniger) Grafik-Demo
-Beste Benutzeroberfläche für eine bestimmte Anwendungsart entwickeln und anschließend eine Umfrage starten
-Bugs in PB finden

-Programmierung eines Bots
-PB-Funktionen selber schreiben, d.h. man schreibt zum Beispiel seine eigene Funktion für Mid(), aber Mid() darf nicht verwendet werden
PS: Es sind nur Vorschläge.

\\Edit:
-Mit wenig festgelegten PB-Befehlen ein nützliches Programm schreiben
Re: Wäre es nicht mal wieder an der Zeit...
Das hatte ich auch schon mal vorgeschlagen.RSBasic hat geschrieben:-Programmierung eines Bots
Aufgabe: Schreibe den besten 4-Gewinnt-Bot (also der, der gegen andere Bots deutlich gewinnt (bei 10'000 Spielen 6'000 mal))
Ich könnte dann kurz die "Simulation" schreiben, in der es zwei Spielzug-Prozeduren gibt, die dann von den jeweiligen Bots ersetzt werden können.
Alle die teilnehmen können dann ihre eigene Spielzug-Prozedur schreiben, in der Form:
Code: Alles auswählen
Procedure.i STARGATE(Array Field.i(2), Eigene Spielfarbe)
Man bekommt immer die aktuelle Spielfeldsituation und muss seinen nächsten Zug zurück geben (also die Spalte für den Stein, 0-6)
Ich würde das mal vorbereiten und dann einfach mal n neues Thema starten.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Wäre es nicht mal wieder an der Zeit...
Moin!
Hatte dann auch schonmal begonnen, ein paar Lösungsalgorithmen zu schreiben für Sudoku. Die funktionieren zwar bereits, man könnte sie aber sicherlich beschleunigen und auch noch weitere Abfragen einbauen für den Schwertfisch usw.. Ist nur ein Vorschlag. Interesse?
Gruß - WPö
Hatte dann auch schonmal begonnen, ein paar Lösungsalgorithmen zu schreiben für Sudoku. Die funktionieren zwar bereits, man könnte sie aber sicherlich beschleunigen und auch noch weitere Abfragen einbauen für den Schwertfisch usw.. Ist nur ein Vorschlag. Interesse?
Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Re: Wäre es nicht mal wieder an der Zeit...
642
Code: Alles auswählen
EnableExplicit
Global a,d,f,j,m,n,c.s,h.s,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)
If FindString("+-<>.,[]",h)
c+h
j-((Asc(h)/23)!3-3)/3
W
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
While PeekA(m)
n=PeekA(m)-44
i=""
k(f)-n&1*n*(1-n/47)
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>15
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
Else
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Wäre es nicht mal wieder an der Zeit...
Mann, gebt euch mal mehr Mühe
639

639
Code: Alles auswählen
EnableExplicit
Global a,d,f,j,m,n,c.s,h.s,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)
W
U
While h
i+h
U
Wend
h=i
While h
m+1
h=Mid(i,m,1)
If FindString("+-<>.,[]",h)
c+h
j-((Asc(h)/23)!3-3)/3
W
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
While PeekA(m)
n=PeekA(m)-44
i=""
k(f)-n&1*n*(1-n/47)
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>15
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
Else
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
- unkommentierter Quellcode = unqualifizierter Müll