Java Apps

Why Java???

Ok, Hand aufs Herz, Java ist eine (zeitweise) angestaubte Sprache, von der viele heute den Eindruck haben, dass es mit ihr bergab geht. Keiner will ein Zusatzprogramm installieren müssen, damit andere Programme laufen. Aber wieso ist dann Java (vor Xamarin) die Programmiersprache Nr. 1 für Android? Ok, lassen wir das Thema. Java ist meiner Meinung nach eine sehr gute Sprache für Programme aller Art. Daher findest du hier einen Platz für alle meine Java Apps.

Voraussetzungen

Alles was du benötigst ist ein Mac, Linux oder Windows mit installiertem Java. Hier kannst du überprüfen, ob du Java schon installiert hast. Wenn nicht, kannst du es dir hier herunterladen. Das war’s, du bist startklar.

Download

Egal, welches der Projekte du ausprobieren möchtest, der Startpunkt ist immer der “FOK Launcher”. Klicke hier, um dir stets die aktuelle Version herunterzuladen.

 

Hangman Solver

Du kennst sicherlich das berühmte Spiel Hangman, oder? Wenn du das nächste Mal Hangman mit einem Freund spielst und keinen blassen Schimmer hast, wirfst du Hangman Solver an und du bekommst den nächsten Tipp.

Hangman Solver dreht den Spieß um: Nicht der Computer stellt dir ein Rätsel, das du lösen musst, sondern du stellst dem Computer ein Rätsel, das der Computer lösen muss!

Das will ich haben!

Cool, dann mal los:

  1. Lade dir den FOK Launcher herunter.
  2. Öffne den Launcher und starte “Hangman Solver”
  3. Wähle die Sprache in der du spielst
  4. Gebe jetzt den Fortschritt ein, den du schon hast, also zum Beispiel “H__gm_n S_lv_r”
  5. Benutze für jeden Buchstaben, den du noch nicht kennst dabei einen Unterstrich ( _ )
  6. Drücke Enter
  7. Hangman Solver wird dir etwas weiter unten einen Tipp geben, welchen Buchstaben du als nächstes versuchen solltest.
  8. Drei Möglichkeiten:
    1. Der Tipp war richtig? Super! Vergiss nicht, den Rätselfortschritt zu aktualisieren. Wenn der Fortschritt vorher also “H__gm_n S_lv_r” war und der Tipp “a” stimmt, gebe jetzt als Fortschritt “Ha__man S_lv_r” ein. Drücke dann wieder Enter, um den nächsten Tipp zu bekommen.
    2. Der Tipp war falsch? Kein Problem. Drücke einfach nochmal Enter. Hangman Solver wird den Tipp automatisch als falsch einordnen und dir den nächsten Tipp ausspucken.
    3. Huch, ich habe da irgendwo einen Fehler reingebastelt! Kein Problem. Trage einfach nochmal in Ruhe den aktuallen Spielfortschritt ein und drücke wieder Enter. Hangman Solver findet sich schon automatisch zurecht.

Wenn Hangman Solver ein Wort mal nicht errät, wird er dich bitten, ihm das Wort zu verraten. Hangman Solver lernt nämlich (dank einer Online Datenbank) ständig dazu.

Dat Oberfläche is voll krass kompliziert, ey!

Jup, das wissen wir auch. Die GUI von Hangman Solver ist im Moment noch eine “Proof of Concept”-GUI, aber wir arbeiten schon an einer intuitiven Variante, keine Sorge, aber Uni geht halt vor.

Ich bin Mathematiker, ich will wissen, wie das geht

Du kannst eine ziemlich ausführliche Erklärung auf Englisch in unserem Github Repository finden.

Tic Tac Toe

Dieses Projekt entstand mal bei einer Art Lernsuchtanfall. Plötzlich wollte ich wissen, wie KI funktioniert und da eignet sich natürlich Tic Tac Toe am besten. Auch Tic Tac Toe findest du oben im FOK Launcher.

Bei dem Projekt ging es nicht darum, eine schöne Oberfläche und die perfekte Benutzererfahrung zu gestalten, sondern es ging einzig und allein darum, den sogenannten MiniMax-Algorithmus zu verstehen. Theoretisch sollte diese KI perfekt spielen (ein Mensch sollte also nur unentschieden spielen oder verlieren können), aber eben halt nur theoretisch. Praktisch hat sich irgendwo tief ein Fehler eingeschlichen, der es dennoch möglich macht, gegen die KI zu gewinnen.

Dieses Projekt ist tot und ich habe auch nicht vor, es mit Updates zu versorgen, wer es aber dennoch spielen möchte, der sei herzlich dazu eingeladen 🙂

FOK-Commons

Dieses Projekt ist für Entwickler gedacht (nicht für Endnutzer). Es bietet verschiedene nützliche Features für Java-Entwickler, wie z. B.:

  • Ein automatisches Update System (Damit kann sich eine App selber Updaten)
  • Eine einfache Möglichkeit, App-Einstellungen zu speichern
  • Einen kleinen Wrapper, der die Benutzung von java.util.logging vereinfacht
  • Werkzeuge, um dumme Sachen mit Versionsnummern anzustellen
  • Ein einfaches Dialogfenster, um den Nutzer über ein Update zu informieren.
  • uvm [WIP] 🙂

Mehr Infos gibts im zugehörigen Github repository (siehe unten).

Github Repositories & Lizenz

(Fast) Alle Projekte hier sind Open Source und unter der Apache Lizenz 2.0 veröffentlicht. Das bedeutet, dass du dir auf Github den Quellcode ansehen kannst (siehe Liste unten), ihn aber auch beliebig (=privat und kommerziell) nutzen und verändern kannst, solange der Lizenzgeber (=Frederik Kammel) genannt wird.*

Hier eine Liste aller unserer öffentlicher Github Repositories:

* Dieser Text ist lediglich eine grobe Zusammenfassung der Apache Lizenz v2.0. Rechtlich bindend ist einzig und allein die englische Version der Apache Lizenz v2.0.