Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Dynamic Link Fighters (https://www.delphipraxis.net/156894-dynamic-link-fighters.html)

Sherlock 22. Dez 2010 14:14

AW: Dynamic Link Fighters
 
Eindeutige ID -> Generiere doch eine GUID für jede KI.

Sherlock

Mikescher 22. Dez 2010 15:09

AW: Dynamic Link Fighters
 
Zitat:

Zitat von Sherlock (Beitrag 1069973)
Eindeutige ID -> Generiere doch eine GUID für jede KI.

Ja aber auf welcher Basis ? Mein Programm sieht ja nur die fertige DLL. Man müsste im DLL-Template eine Methode "GetID" einbauen jedoch woher soll diese ID kommen, wenn der, der die KI programmiert die ID selber zuweist besteht immer die Gefahr dass es diese ID zufälligerweise schon gibt oder noch schlimmer mehrere Leute lassen den Standard Wert stehen (OK da könnte dann eine Fehlermeldung kommen wenn man die KI benutzt).
Imho müsste für so eine GUID jeder der eine KI entwickelt sie bei mir einschicken so dass ich ihm dann eine ID geben kann. Dass würde ich aber nur ungern so machen, weil dann der ganze KI-Entwicklungsprozess von mir abhängt (was wenn ich mal im Urlaub bin :-D).
Ich weiss nicht, irgendwie würde so etwas ja das System von "einfach eine DLL mit Delphi programmieren" kaputtmachen.

Oder wie hast du das gemeint ?

MfG Mikescher

stahli 22. Dez 2010 16:44

AW: Dynamic Link Fighters
 
Im automatischen Turnier könnten z.B. nur KI´s berücksichtigt werden, die eine eindeutige ID haben.

- Menüaufruf "Automatisches Turnier"
- Anzeige aller gefunden KI´s mit ID (String, egal ob als GUID oder anders)
- (KI´s ohne ID oder mit gleicher ID sind inaktiv)
- alle aktiven gegeneinder spielen lassen (jeder gegen jeden) und laufend Ergebnisse veröffentlichen

Mikescher 15. Feb 2011 19:41

AW: Dynamic Link Fighters
 
So, ich hab mal die neue Version 1.0.2 hochgeladen.

Im Großen und Ganzen sind es eigentlich nur Bugfixes.
Online-Highscores etc hab ich mal versucht jedoch hält mein Server das nicht aus (müsste ich alles via php machen :? )

Auf jedenfall sollte DLF jetzt stabiler und auch ein wenig flüssiger laufen (hab auch nochmal alles so verbessert dass man DLF auch auf älteren GraKas ausführen kann)

MfG Mikescher

Assarbad 15. Feb 2011 21:03

AW: Dynamic Link Fighters
 
Zitat:

Zitat von Mikescher (Beitrag 1081979)
Online-Highscores etc hab ich mal versucht jedoch hält mein Server das nicht aus (müsste ich alles via php machen :? )

SQLite-Datenbank und Mini-PHP-Skript, was gibt's denn da auszuhalten? :shock:

Coole Idee jedenfalls. Wir könnten ja mal unsere DLLs gegeneinander antreten lassen. Mit allen schmutzigen Tricks :mrgreen:

Assarbad 15. Feb 2011 21:09

AW: Dynamic Link Fighters
 
So, also die Idee ist schonmal gut (habe ich ja gesagt), aber bei der Umsetzung scheint es Probleme zu geben. Da ich mich mit OpenGL nicht auskenne (und auch nicht so tue), kann ich nicht sagen was, aber auf Windows 7 x64 hängt das Ding. Ich lasse es nicht als Admin laufen (versteht sich ja von selbst).

Versuche es nachher nochmal in VMware (mit XP SP3). Mal sehen ob das besser geht ...

Siehe da: in XP SP3 funzt es tadellos in der VM. Allerdings habe ich das Gefühl, daß bei gerader Feldanzahl (vertikal) die Programmierung theoretisch auf Sieg sein könnte, aber der ausschlaggebende Käfer auf einer Seite einen Vorteil hat (je nachdem). Oder irre ich?

mleyen 16. Feb 2011 10:22

AW: Dynamic Link Fighters
 
Oder man schaut sich etwas aus vorhandenen sources ab.

Zitat:

Zitat von Assarbad (Beitrag 1082011)
Coole Idee jedenfalls. Wir könnten ja mal unsere DLLs gegeneinander antreten lassen. Mit allen schmutzigen Tricks :mrgreen:

Wollen wir wirklich die Dinge in euren Viren-Sammel-Tresoren kennen lernen, die vsl besser nie das Licht der Welt erblicken sollten? :stupid::stupid:

himitsu 16. Feb 2011 10:31

AW: Dynamic Link Fighters
 
Zitat:

Zitat von Assarbad (Beitrag 1082011)
SQLite-Datenbank und Mini-PHP-Skript, was gibt's denn da auszuhalten? :shock:

eventuell ja einfach sowas http://www.delphipraxis.net/148076-m...mysql-dll.html

Memnarch 16. Feb 2011 10:45

AW: Dynamic Link Fighters
 
Zu dem ID Problem:

Der DLL Programmierer startet ein Hilfsprogram von dir. Das generiert aus dem SourceCode der DLL einen SHA-2 Wert(nen Hash), und bügelt noch das aktuelle Datum + Uhrzeit in den wert. Damit sollte es schwer werden, 2mal die gleiche ID zu bekommen(wen auch nicht unmöglich, aber fast).

Dieser Wert wird dann z.B. als String in der DLL hinterlegt und kann dort abgerufen werden(über ne funktion)

PS: Eventuell kommt die funktion für das auslesen der ID und der ID-String in eine seperate Unit, welche beim generieren der "ID" nicht berücksichtigt wird. So verändert der eingefügte Hash die Hash generierung nicht wen mans nochmal macht.

Anstatt SAH-2 könnte man auch z.B. CRC32 nehmen, ist aber wohl unzuverlässiger was dubletten angeht.

MFG
Memnarch

himitsu 16. Feb 2011 10:57

AW: Dynamic Link Fighters
 
CRC32 = 4 Milliarden IDs (2^32 ist auch schon recht eindeutig)
ansonsten kann man auch die SHA-1-API direkt von Microsoft nutzen (2^160 Möglichkeiten)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz