Spielkarten mit C# und AForge.NET analysieren

KartenDetektor - Spielkarten in C# erkennenWie im letzten Artikel schon angemerkt, soll es wieder ein wenig in Richtung der Wurzeln dieses Blogs gehen. Konkret heißt das mehr Code-Beispiele und Tutorials.
Dieser Artikel ist ein weiterer Schritt in diese Richtung. Nachdem wir im letzten Artikel ein C#-Tool geschrieben haben, mit dem man die Gewinnwahrscheinlichkeit einer Pokerhand ausrechnen kann, befassen wir uns in diesem Artikel mit den Themen Bildverarbeitung und maschinellem Sehen in C#.
Das Tool, welches wir heute entwickeln, analysiert Screenshots eines Pokerspiels und kann die Karten inklusive Kartenwert und Kartenfarbe automatisiert auslesen. Hierzu nutzen wir die ziemlich mächtige OpenSource-Bibliothek “AForge.NET”, welche etliche Klassen und Methoden für die Bereiche maschinelles Sehen und Künstliche Intelligenz bietet.
Vor dem Coding
Bevor es mit der Programmierung losgeht, müssen noch ein, […]

Berechnung der Gewinnwahrscheinlichkeit beim Poker in C#

PokerChancenRechner - BerechnungHeute geht es wieder einmal um die Erstellung eines kleinen C#-Tools. Somit begeben wir uns thematisch wieder einmal in Richtung “Back to the roots” der Code-Bude.
Bei dem Tool handelt es sich um eine kleine Applikation, die Siegchancen einer Poker-Hand ermittelt. Das Tool erwartet als Eingabe die zwei Karten, die ein Spieler auf der Hand hat, sowie die drei initial ausgelegten Karten auf dem Deck (der sogenannte “Flop”) und berechnet daraus die Gewinnchancen für den Spieler.
Bevor nun die Ersten “Aber Poker ist doch ein Glücksspiel und Glücksspiele kann man nicht berechnen” schreien, wollen wir nachfolgend noch einmal kurz die Frage nach dem “Glücksspiel” stellen.
Ist Poker Glücks- oder Geschicklichkeitsspiel?
Zwar wird Poker in Deutschland rechtlich gesehen weit überwiegend zu den Glücksspielen gezählt, […]

Grundlagen: Sicheres Passwort Hashing mit Salts

Passwörter in Plaintext speichernWer Software entwickelt und dies im Web-Umfeld tut, der hat sicherlich schon das ein oder andere Login-System geschrieben oder zumindest Berührungspunkte in diesem Bereich gehabt. Neben der Logik eines sicheren Login- bzw. User-Systems an und für sich, ist das sichere Speichern von Passwörtern einer der wichtigsten Punkte während der Implementierung.
Selbst wenn der eigentliche Code des Logins zu 100 Prozent fehlerfrei und sicher ist (wovon man in der Praxis nie ausgehen sollte), so kann es durch Sicherheitslücken in der Serversoftware immer noch zu Einbrüchen bzw. Hacks kommen. Es gibt immer eine Variable, auf die man keinen Einfluss hat und so werden tagtäglich Webseiten gehackt, kompromittiert und komplette Datenbanken mit Usernamen und Passwörtern ausgelesen.
Um die Nutzer im Falle eines solchen Hacks […]

SoccerDash – Fußballstatistiken in C# mit REST und JSON

SoccerDashboard - FußballstatistikenIm heutigen Artikel soll es darum gehen, wie man mittels C# eine REST-API abruft und JSON deserialisiert. Hierzu schreiben wir ein kleines Programm in C#, welches Daten von einem Fußball-Statistik-Webservice per API abruft. Wer direkt loslegen will, überspringt den folgenden Prolog. Wer einen stimmigen Einstieg in das Thema sucht, liest ihn.
Prolog
In den letzten beiden Jahren habe ich bezüglich meines Fußballkonsums eine 180-Grad-Wende hingelegt. Habe ich früher, abgesehen vom selbst spielen und den WM-Spielen, so ziemlich alles rund um Fußball gemieden, so schaue ich mir heute jedes Heimspiel der Fortuna in der Esprit-Arena an.
Und wenn einen das Fußball-Fieber erst einmal gepackt hat, dann sind Tipp-Spiele im Freundes- und Kollegenkreis und der Exkurs richtig Sportwetten nicht mehr fern. Doch wenn […]

Wildcards in Google Suggest nutzen

Was ist Google SuggestDen regelmäßigen Nutzern meines Blogs sollte “Google Suggest” bereits ein Begriff sein. Jene können gerne zum Abschnitt “Wildcard-Operator in Google Suggest” vorspringen, für alle anderen folgt nun der Schnelleinstieg. Google Suggest (suggest = vorschlagen) ist der Name der Google Funktionalität, welche dafür zuständig ist, dass einem schon während des Tippens der Suchanfrage mögliche Suchanfragen vorgeschlagen werden. Tippt man also “Was sind die beliebtesten” so schlägt mir Google zum Beispiel vor “Was sind die beliebtesten Sportarten in Australien”. Die Vorschläge wiederum setzen sich zum einen aus dem eigenen Google-Suchprofil und zum anderen aus den derzeit häufigsten Suchanfragen anderer Nutzer an Google zusammen.
Für Webmaster, SEOs (Suchmaschinenoptimierer) und Internet-Marketer hat das Google Suggest Feature jedoch noch einen ganz anderen Nutzen als die reine […]