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
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag von RSBasic »

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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

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

Beitrag von c4s »

@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. :allright:
"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: 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...

Beitrag von NicTheQuick »

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.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag von RSBasic »

c4s hat geschrieben:Dann würde es wohl schnell in die ASM-Ecke rücken, oder?
Stimmt. :D
c4s hat geschrieben:Die Disziplin "möglichst kleiner Code" ist meiner Meinung nach bisher ziemlich spannend. :allright:
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.
NicTheQuick hat geschrieben:Das muss deswegen nicht gleich in ASM abdriften,
Man könnte ja eine Regel wie "Keine ASM-Nutzung" aufstellen.
NicTheQuick hat geschrieben:Schwer wird nur zu sagen welcher Code besser ist, weil man dazu eine einheitliche Testmaschine braucht.
Stimmt, daran habe ich garnicht gedacht. :oops:

Weitere Vorschläge: Überleg ich mir noch....^^
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
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...

Beitrag von NicTheQuick »

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. :wink:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag von RSBasic »

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 :D (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. :D

\\Edit:
-Mit wenig festgelegten PB-Befehlen ein nützliches Programm schreiben
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

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

Beitrag von STARGÅTE »

RSBasic hat geschrieben:-Programmierung eines Bots
Das hatte ich auch schon mal vorgeschlagen.
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)
(Feld wäre dann 0-Leer, 1-Farbe1, 2-Farbe2)
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
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

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

Beitrag von WPö »

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ö
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.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

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

Beitrag von STARGÅTE »

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
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

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

Beitrag von 7x7 »

Mann, gebt euch mal mehr Mühe :mrgreen:
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
Antworten