Skriptbeispiel Spielkarten

  • Hi,
    für all jene, die gern Kartenspiele programmieren: Windows hält ja bereits Karten und Deckblätter bereit.
    Hier mal ein kleines Bsp., wie man das nutzen kann:



    Edit: Habe (nur im geposteten Skript, nicht im Anhang) mal erweitert, dass die gemischten Karten in den Blöcken sortiert sind. Sieht besser aus ;-)


    Edit2: Neue Version: die Karten befinden sich nun farblich und wertemäßig in der (in DE) üblicherweise verwendeten Reihenfolge. Also Karo-Rot-Pik-Kreuz und 2 bis As. Die gemischten Karten sind jetzt innerhalb des jeweiligen Stapels sortiert.


    DL bisher: 17

  • Is echt interesant :thumbsup:
    Naja, wenn sie nicht dabei ist, liehfert man sie eben mit!


    Was lizenztechnisch ein Problem darstellt, wenn man das Script dann mit DLL weitergibt. Immer drauf achten : Auch die DLL's von MS sind keine Freeware !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:


    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Habe das Bsp. noch etwas nachgebessert. Die gemischte Ausgabe wird jetzt innerhalb jedes Stapels sortiert.
    Die Reihenfolge der Farben und Karten habe ich auch berichtigt. Hätte eigentlich Sinn gemacht, wenn diese in der Dll nach Farben und Werten aufsteigend enthalten sind. Aber Kreuz als erste Farbe und As als erste Karte... In Redmond ticken die Uhren halt doch anders. :D

  • Laß dir mal den Wert von $hInstance = _WinAPI_LoadLibraryEx ($ressource, $LOAD_LIBRARY_AS_DATAFILE) in die Konsole ausgeben. Falls $hInstance = 0 ist, dann hast du die cards.dll nicht auf dem PC. Allerdings ist die ab Win98 definitiv dabei, bei Vista weiß ich nicht.


    Gleiches Problem bei mir - aber ich verwende Vista, und habe die cards.dll nicht auf dem Rechner...
    $hInstance ist hier 0x00000000

  • Sonst testet mal diese cards.dll ;) http://home.comcast.net/~ammaxamma/
    Und ich hab mal die cards.dll-funktionen übersetzt: