Autor Beitrag
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Fr 01.04.11 15:25 
Im Serverprotokoll steht drin, "Gibt an, ob der eigenen Client am Zug ist (y - ja, n - nein) oder passen muss"
Ich habe allerdings nichts gefunden, wann ein Client "passen muss". Wann ist das der Fall?
Ich nehme auch an, dass man nur auf freie Felder ziehen kann, richtig? Wie siehts dann mit "Überspringen" von Steinen (eigene, fremde?) bei dem 2Feld-Zug aus? Anscheinend ist es erlaubt. Ist das richtig so?
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Fr 01.04.11 15:47 
Hey,

überspringen geht. Zumindest hat er nich gemeckert, als meine KI das heut gemacht hat^^

MfG Bergmann

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Fr 01.04.11 15:58 
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Im Serverprotokoll steht drin, "Gibt an, ob der eigenen Client am Zug ist (y - ja, n - nein) oder passen muss"
Ich habe allerdings nichts gefunden, wann ein Client "passen muss". Wann ist das der Fall?
Das ist z.B. Fall, wenn dich der Gegner mit einer Wand der Stärke 2 eingemauert hat und du hinter der Wand nix freies hast. Dann hast du ja keine Möglichkeit, irgendwo einen Stein hinzuziehen, ergo musst du passen. Je nachdem, ob der Gegner dir dann nochmal Platz macht, kann es durchaus sein dass du gar nicht mehr dran kommst.

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Ich nehme auch an, dass man nur auf freie Felder ziehen kann, richtig?
Korrekt.


user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Wie siehts dann mit "Überspringen" von Steinen (eigene, fremde?) bei dem 2Feld-Zug aus? Anscheinend ist es erlaubt. Ist das richtig so?
Korrekt. Außerdem dürfen blockierte Felder übersprungen werden. Also alles, sozusagen. Hauptsache der Zug hat Weite 2.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Do 07.04.11 17:06 
Frage zur Zeitschranke pro Zug. Gesagt sind ja 10s aber einstellbar. In welchem Rahmen wird sich die Zeit denn bewegen? Brauch den Suchbaum ja nicht auf 50 Ebenen optimieren wenn eh nur 10-20s Zeit sind.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Do 07.04.11 17:24 
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Frage zur Zeitschranke pro Zug. Gesagt sind ja 10s aber einstellbar. In welchem Rahmen wird sich die Zeit denn bewegen? Brauch den Suchbaum ja nicht auf 50 Ebenen optimieren wenn eh nur 10-20s Zeit sind.
So genau haben wir uns das noch nicht überlegt, aber es wird wohl definitiv <=30s bleiben. Die 10s zum Üben sind schon eine gute Hausnummer.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Do 07.04.11 18:01 
Hallo,

auch wenn ich die Regel nicht bestimme, halte ich 10 Sekunden nur als Obergrenze denkbar.
Es sind x freie Felder = 81 Felder - ( ? blockierte + 4 vorbelegte)= maximal 77.
Minimal sind die x freien Felder mit x Zügen zu belegen, wenn nie ein Zug der Weite 2 unternommen
wird.
770 Sekunden als zeitliches Limit für ein Spiel ist in einem Turnier nicht praktikabel.
Stell Dir vor es sind 20 Leute, jeder gegen jeden 2 Spiele (schwarz/weiß) sind schon 420 Spiele a 770 Sekunden ( warum sollte man seine Antwort vorher schicken, falls sich nicht etwas besseres findet ) sind 89 Stunden.
Wenn Du Dir replay ID 86 der OmaKi vs OmaKi anschaust:
Geblockt:
b2,b8,d5,e4,e6,f5,h2,h8
Gestartet
20110406 22 13 29
erster Zug um
20110406 22 13 30 ,a9,a8
letzter/ 69.ter Zug
20110406 22 14 31 ,h6,i5
Sind für 69 Züge 61 Sekunden.
Aber dort spielt eine KI gegen sich selbst, eine sich selbsterfüllende Prohezeihung der Züge, denn der Gegner (KI) macht genau die Züge die ich (KI), selbst auch gerechnet habe und die alten Daten stimmen.

ID 78: OmaKi ( Zieht nach 5 Sekunden ) vs Kha (<- zieht rasend schnell in selber Sekunde der ständig vorhandene Testgegner vom Forum? )
von 20110405 19 34 04,a9,a8 bis 20110405 19 39 23,i8,i9 102 Züge mit zweimal passen von schwarz hat 5 min gedauert.
Warum aber der vorletzte Zug von schwarz, wo praktisch nichts frei ist 1:23 Sekunden dauerte???

Gruß Horst
Thom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 70
Erhaltene Danke: 5


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 07.04.11 19:51 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
Warum aber der vorletzte Zug von schwarz, wo praktisch nichts frei ist 1:23 Sekunden dauerte???


Ist das eine rhetorische Frage oder erwartest Du darauf eine ernsthafte Antwort? :gruebel:

Sind übrigens 81 Sekunden = 1:21 Minuten. :wink:
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Do 07.04.11 20:32 
Vorweg: ich hab deinen Punkt nicht ganz verstanden, also wenn ich Quatsch antworte, nicht wundern :roll:
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
auch wenn ich die Regel nicht bestimme, halte ich 10 Sekunden nur als Obergrenze denkbar.
Naja, wir werden sicher fürs eigentliche Turnier mit sehr kurzen Poll-Zeiten und/oder LP arbeiten, so dass das ginge. Ich wollte auch nur eine absolute Obergrenze geben.


user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:

770 Sekunden als zeitliches Limit für ein Spiel ist in einem Turnier nicht praktikabel.
Stell Dir vor es sind 20 Leute, jeder gegen jeden 2 Spiele (schwarz/weiß) sind schon 420 Spiele a 770 Sekunden ( warum sollte man seine Antwort vorher schicken, falls sich nicht etwas besseres findet ) sind 89 Stunden.
Och, naja. Man kann ja problemlos 10 Spiele gleichzeitig laufen lassen. De facto sogar alle, da jeder Client ja multi-game-Fähig sein muss. Nur genug CPU-Kerne müssen da sein, damit die Zeitbegrenzung irgendeinen praktischen Wert hat. Hast also Recht, es wird zu langsam so. Aber ob das jetzt 5s oder 15s oder irgendwas anderes werden, müssen wir halt dann erstmal grob peilen, wenn wir wissen wie viele Spiele denn gespielt werden müssen.

user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
ID 78: OmaKi ( Zieht nach 5 Sekunden ) vs Kha (<- zieht rasend schnell in selber Sekunde der ständig vorhandene Testgegner vom Forum? )
Der denkt auch nix, wenn user profile iconKha nix geändert hat macht der zufällige Züge ;) Ich könnte ja meinen Versuchsclient noch online nehmen, aber nachher wundert ihr euch dass der Bot die ID MartokUIClient geerbt hat :P

user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
Warum aber der vorletzte Zug von schwarz, wo praktisch nichts frei ist 1:23 SekundenMinuten dauerte???
Keine Ahnung, frag den der die KI programmiert hat :P

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Fr 08.04.11 23:27 
Ok noch 2 Fragen:
Da ihr die Spiele ja gleichzeitig laufen lassen wollt, wie sieht es da mit Multithreading aus?
Einerseits brauche ich schonmal je Spiel 2 Threads (einen der rechnet, einen der die Zeit überwacht und den andren beendet), was man zwar auf 1 Masterthread und je Spiel 1 Rechenthread reduzieren könnte, aber eben immer noch mehrere Threads bleiben. Andrerseits könnte man auch die Berechnung parallelisieren. Also >=2 Threads verwenden, was zwar extrem aufwändig ist, aber doch recht effektiv sein kann.

Nächste Frage zu den vorberechneten Daten: Sind Strukturinformationen erlaubt? Ich hätte da z.B. verschiedene Tabellen, die zum Finden umliegender Felder und zum Zählen verwendet werden, die doch etwas Rechenaufwand sparen. Ist das noch erlaubt?
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.04.11 00:09 
Ich denke, es ging dabei alleine um Eröffnungs- und Endspieltabellen. Wie soll eine KI ohne Strukturinformationen denn aussehen? :?!?:

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 09.04.11 14:21 
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Ok noch 2 Fragen:
Da ihr die Spiele ja gleichzeitig laufen lassen wollt, wie sieht es da mit Multithreading aus?
Einerseits brauche ich schonmal je Spiel 2 Threads (einen der rechnet, einen der die Zeit überwacht und den andren beendet), was man zwar auf 1 Masterthread und je Spiel 1 Rechenthread reduzieren könnte, aber eben immer noch mehrere Threads bleiben. Andrerseits könnte man auch die Berechnung parallelisieren. Also >=2 Threads verwenden, was zwar extrem aufwändig ist, aber doch recht effektiv sein kann.
Ui, du denkst auf jedenfall komplizierter als ich. Auf sowas bin ich gar nicht gekommen, sieht man ja auch im Musterclient ;) Genau genommen hatte ich, als ich vom gleichzeitig spielen schrieb noch nicht mal dran gedacht dass ja nicht mal dieser Multithreading kann. Ups. Naja, im Zweifelsfall starten wir halt mehrere Instanzen :P

Grundsätzlich aber würde ich sagen überlassen wir das euch. Es wäre aber zweckmäßig, in diesem Fall irgenden Dokument zu haben, aus dem hervorgeht wie viele Kerne der Client voll nutzt, so dass wir dann entsprechend verteilen/planen können.

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Nächste Frage zu den vorberechneten Daten: Sind Strukturinformationen erlaubt? Ich hätte da z.B. verschiedene Tabellen, die zum Finden umliegender Felder und zum Zählen verwendet werden, die doch etwas Rechenaufwand sparen. Ist das noch erlaubt?
Ich sehe da wie user profile iconHidden keinen Grund, warum das nicht erlaubt sein sollte. Sowas fällt für mich unter "normale Optimierungen". Ein Array of (-1,-1;-1,0;-1,+1 etc tut sicher keinem weh. Wenn du was anderes meintest, "bitte spezifizieren sie ihre Anfrage" ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 09.04.11 15:08 
Ja Problem ist halt die Zeitbeschränkung. Ich finde keine andere Variante, als die Berechnung in nem Thread laufen zu lassen und mittels Timer o.ä. den Thread am Ende zu killen. Das sogar noch so weit, dass ich nen Thread starte, der den thread killt. Wenn man sich nur auf 1 Spiel konzentrieren muss (Man kann ja trotzdem z.b. Mehrere Prozesse nehmen, wenn kerne verfügbar sind) wäre das einfacher. Dann könnte man in den Regeln z.b. festlegen, dass nur 2 Threads je Prozess verwendet werden dürfen (oder von mir aus 3, aber die Optimierung auf Multi-Threaded Berechnung ist so zeitaufwendig, dass nicht mehr alle eine Chance haben, die wollen.)
Macht auch die Chancen gleicher. Weil jmd der das wirklich auf 8 Threads optimiert hat, hat eben größere Chancen, als jmd der nur 1 Benutzt. schonmal wegen 8 facher Rechenzeit.

Jep von solchen Rede ich. Habe inzwischen ne Unit, die mir ne inklude Datei erzeugt, in der das Zeug dann drin ist xD

Und warum eiegentlich 9x9 Felder? Das passt doch in keinen Int64 Wert :(
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.04.11 15:37 
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Und warum eigentlich 9x9 Felder? Das passt doch in keinen Int64 Wert :(
Wie ist x denn Definiert: A(A(*,*),A(*,*))? :shock: Also 9*9=81 << MaxuInt64 - oder spezifizieren Sie die Anfrage :mrgreen:

Zur Parallelisierung würde ich sagen, wir sparen uns allen eine ganze Menge Arbeit und schließen es aus. Hat denn schon jemand etwas implementiert oder plante das überhaupt jemand?
Vielleicht könnte man mit virtuellen Maschinen zwei gleichartige Rechner zur Verfügung stellen, aber wenn die auf der selben Hardware laufen bin ich da auch etwas skeptisch ob nicht die die mehr benötigt ein kleines bisschen mehr Recourcen bekommt? Zweimal die selbe Hardware zur Verfügung stellen, können wir vom Team wohl kaum verlangen, oder? :P

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)


Zuletzt bearbeitet von Hidden am Sa 09.04.11 15:40, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 09.04.11 15:39 
Ich habe jetzt auch mal angefangen. Und da ist mir beim Konzept auch eine Frage zu Multithreading gekommen:

Testweise habe ich gerade mal ein wenig herumgespielt. Ganz wichtig: Dürfen Threads weiterrechnen während der andere Client dran ist? Es geht hier darum, dass ich im Hintergrund Tabellen aufbauen würde, die später dann verwendet werden können.

Und dann noch: Gibt es eine Arbeitsspeicherbeschränkung (von den systembedingten Einschränkungen abgesehen meine ich)? (Aber ich glaube so viel wird es ohnehin nicht, ich rechne so mit 300 MiB oder so... :mrgreen:)
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.04.11 15:47 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Testweise habe ich gerade mal ein wenig herumgespielt. Ganz wichtig: Dürfen Threads weiterrechnen während der andere Client dran ist? Es geht hier darum, dass ich im Hintergrund Tabellen aufbauen würde, die später dann verwendet werden können.
Pondern hielt ich jetzt für selbstverständlich erlaubt. Interessant es auszuschließen, wäre natürlich im Bezug auf das letzte Thema: Wenn keine zwei gleichzeitig rechnen, wäre es wahrscheinlich kein Problem alles auf einer Maschine laufen zu lassen ohne dass Ressourcen streitig werden :)

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Und das zweite: Gibt es eine Arbeitsspeicherbeschränkung (von den systembedingten Einschränkungen abgesehen meine ich)?
Interessante Frage, ich bin für eine in der Größenordnung einer einzelnen Delphi-Anwendung: Sonst bringt der Aufwand des Splits schon wieder Vorteile?

(Und ja, ich kenne einen immensen Vorteil durch viel Speicher. Wenn ich den aber ausspreche, grillt mich BenBE am Spieß. Das möchte ich nicht. Ich mag keine Spieße :gruebel:)

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 09.04.11 16:09 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Und ja, ich kenne einen immensen Vorteil durch viel Speicher. Wenn ich den aber ausspreche, grillt mich BenBE am Spieß.
Ich glaube du meinst das selbe aufgrund dessen ich die Frage gestellt habe. :mrgreen:
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.04.11 16:13 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Und ja, ich kenne einen immensen Vorteil durch viel Speicher. Wenn ich den aber ausspreche, grillt mich BenBE am Spieß.
Ich glaube du meinst das selbe aufgrund dessen ich die Frage gestellt habe. :mrgreen:
Ich kenne Schachprogramme, die 20GB oder mehr belegen. Meinen wir das selbe? :D

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Thom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 70
Erhaltene Danke: 5


Delphi 10 Seattle Prof.
BeitragVerfasst: Sa 09.04.11 17:17 
  • Darf ich 81 Threads benutzen?
  • Darf ich 3TB Daten auf die Festplatte schreiben?
  • Darf ich auf eine externe Serverfarm zugreifen?
  • Darf ich...?
:eyecrazy:

He, Du weißt doch..? Na kar, Du doch auch, oder? Aber na klar doch - aber nur, wenn Du auch - oder? :nixweiss:

Wenn ich den Thread hier lese, verliere ich irgendwie die Lust am Knobeln. :cry:
Ich bekomme den Eindruck, daß die - was auch immer (ich möchte höflich bleiben) - durch pure Rechenpower ersetzt werden soll.

Deshalb bin ich für ganz restriktive Bedingungen:
  • Keine Schreibrechte für die Festplatte.
  • Stark begrenzter Prozess-Speicher.
  • Kein oder nur stark begrenzter Einsatz von (zusätzlichen) Threads.
  • Keine Veränderung der Thread-Priorität (auf solche Ideen kommt bestimmt jemand!).
  • Kein Eindringen in fremde Prozesse (traue ich auch einige Leuten zu).
  • Lesbarer (!!!) und kommentierter Quelltext und dessen Veröffentlichung (zumindest der drei erstplazierten) nach dem Finale.

Nur leider läuft das alles darauf hinaus, 10 Seiten kleingedruckte AGB's zu verfassen. Das hat irgendwie nichts mehr mit sportlicher Fährnis zu tun und liegt bestimmt nicht im Sinn der geistigen Väter dieses Wettbewerbs. :roll:
Hätte nicht gedacht, daß ein derartiges kleines Spiel bei einigen Leuten die Hackerinstinkte aktiviert. :autsch:

P.S.:
Wir können doch gleich alle 5846006549323611672814739330865132078623730171904 möglichen Konstellationen berechnen und den jeweils optimalsten Spielzug darauf... :lol:

Für diesen Beitrag haben gedankt: Hidden
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.04.11 17:35 
user profile iconThom hat folgendes geschrieben Zum zitierten Posting springen:
  • Lesbarer (!!!) und kommentierter Quelltext und dessen Veröffentlichung (zumindest der drei erstplazierten) nach dem Finale.
Die Idee finde ich schonmal klasse. :) Aber weil mich der Quelltext interessiert, nicht weil ich jemandem hier oder dem Team nicht traue wenn sie den Quelltext überfliegen 8)

user profile iconThom hat folgendes geschrieben Zum zitierten Posting springen:
Hätte nicht gedacht, daß ein derartiges kleines Spiel bei einigen Leuten die Hackerinstinkte aktiviert. :autsch:
Hmm, wenn du meinen letzten Post mit meinst: Da geht es um ein Verfahren aus der Informatik, das Redundanz aus einem Algorithmus entfernt aber bei zu wenig Speicher zu beliebig schlechten Fehlbewertungen führt.

Edit: Über Workarounds zur fehlenden Parallelisierung unter Delphi oder ähnlichen Software-Spielereien, um an mehr Hardware zu kommen, denke ich ähnlich: Das ist nicht unbedingt der Sinn, oder?

lg,

Edit2 -
user profile iconThom hat folgendes geschrieben Zum zitierten Posting springen:
P.S.: Wir können doch gleich alle 5846006549323611672814739330865132078623730171904 möglichen Konstellationen berechnen und den jeweils optimalsten Spielzug darauf... :lol:
Ist die Zahl belastbar? Dein 4^81 sollte wirklich eine obere Grenze sein, aber einige Stellungen sollten nicht vorkommen können(z.B. die Startfelder komplett eingemauert, aber noch andere Felder besetzt :P)

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Thom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 70
Erhaltene Danke: 5


Delphi 10 Seattle Prof.
BeitragVerfasst: Sa 09.04.11 18:33 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Aber weil mich der Quelltext interessiert, nicht weil ich jemandem hier oder dem Team nicht traue wenn sie den Quelltext überfliegen

Nein - dem Team will ich natürlich absolut nichts unterstellen. Aber ich weiß, wie anstrengend es ist, irgendwelche längeren Quelltexte zu lesen, die nicht von einem selbst stammen. Und insofern tun sie mir eher Leid, weil sie vielleicht gar nicht geahnt haben, wie viel Arbeit sie sich machen...

Und wer sich keinen fragwürdigen Vorteil verschaffen will, kann seinen Quelltext auch leserlich gestalten und mit Kommentaren versehen.
In C ist ist ohne Probleme möglich, etwas zu programmieren, was man selbst nach einiger Zeit nicht mehr lesen kann. Klappt zwar auch in Delphi - aber da ist es nicht ganz so einfach. :wink:

Oder alles in eine Zeile zu verpacken und sämtliche Formatierungen zu entfernen. Das wäre dann immer noch compilierbarer Quelltext laut Spielbedingung. :lol:

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Hmm, wenn du meinen letzten Post mit meinst...

Auch Nein - damit war niemand spezielles gemeint. War eher so aus dem Gefühl heraus, das sich meiner beim Lesen des Threads bemächtigte...

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Ist die Zahl belastbar? Dein 4^81 sollte wirklich eine obere Grenze sein, aber einige Stellungen sollten nicht vorkommen können(z.B. die Startfelder komplett eingemauert, aber noch andere Felder besetzt :P)

Belastbar? :gruebel:
Meinst Du das im Sinne von realistisch, nachprüfbar?
Na klar: Das wäre die mathematische Höchstgrenze. Aber selbst dann, wenn wir ein paar Millionen unmöglicher/unwahrscheinlicher Möglichkeiten abziehen, bleibt es irgendwie noch eine beeindruckende Zahl... 8)