
Zitat von
Death Overlord
Ich habe mal angefangen in dem Buch(im Internet) zu lesen, aber irgendwie versteh ich bei dem nicht mal die Sachen die ich schon kann

.
Hmm. Möglicherweise liegt das daran, dass in Büchern die Kapitel normalerweise aufeinander aufbauen, und wenn man sich dann mittendrin was rauspickt, die Vorarbeit aus den vorigen Kapiteln dazu fehlt. Oder es liegt daran, dass das Buch vielleicht doch nicht so gut ist wie man mir mal sagte.

Zitat von
Death Overlord
Ich habe bis jetzt im Unterricht gelernt mit Java Konsolenprogramme zu programmieren(Quadratische Gleichung lösen, Währungsrechner,...) also noch nichts Grafisches. Ich weiß wie man If verzweigungen macht, Mahrfachauswahl, Schleife mit Eintrittsbedingung, Ausdrittsbedingung..., Einlesen, Ausgeben, Class erstellt.
Gut, das ist doch schon was. Damit könnte man auch schon ein kleines Spiel auf Konsolenebene machen, wir nehmen mal ein Zahlenratespiel.
Folgende Aufgabenstellung dazu:
Entwickle einen Algorithmus zu einem Spielprogramm, welches eine von einem menschlichen Mitspieler ausgedachte ganze Zahl aus einem vorgegebenen Intervall [u, o] mit möglichst wenigen Versuchen errät. Dabei sollen zunächst zwei ganze Zahlen u und o nach einer entsprechenden Eingabeaufforderung so lange eingelesen werden, bis u < o gilt.
Das Spielprogramm soll nun wiederholt auf eine Zahl aus diesem Intervall tippen, wobei der menschliche Mitspieler jeweils antwortet, ob diese Zahl richtig, zu klein oder zu groß ist (ohne dabei zu mogeln). Das Spielprogramm erwartet vom menschlichen Mitspieler als Tastatureingabe das Zeichen "=", wenn es die richtige Zahl erraten hat, ansonsten das Zeichen "<" bzw. ">", wenn die getippte Zahl zu klein bzw. zu groß war.
Sobald die gedachte Zahl erraten wurde, soll die Anzahl der vom Spielprogramm benötigten Rateversuche mit begleitendem Kommentar ausgegeben werden. Falls eine Eingabe des menschlichen Mitspielers früheren Eingaben widerspricht, soll der Algorithmus dies erkennen und das Spielprogramm nach Ausgabe einer entsprechend formulierten Meldung beendet werden. Anderenfalls soll gefragt werden, ob der Mitspieler ein weiteres Mal spielen möchte. Entsprechend der Antwort (Eingabe) ist ein neues Spiel zu beginnen oder das Spielprogramm zu beenden.
Entwickle einen Algorithmus, der diese Aufgabenstellung möglichst effizient löst. Der Algorithmus sollte schnell sein, d.h. mit möglichst wenigen Abfragen (auch für den ungünstigsten Fall) auskommen, also eine Art Risikominimierung betreiben.
Schreibe für diesen Algorithmus ein Programm und teste dieses mit geeigneten Daten.
Zusatzaufgabe:
Versuche, einen mathematischen Zusammenhang zwischen der Anzahl der in Frage kommenden ganzen Zahlen n = o − u + 1 und der maximal erforderlichen Anzahl der Rateversuche k abzuleiten.
Die Aufgabe stammt zwar aus der Anfangszeit einer Vorlesung zu Fortran95, aber sowas sollte man auch mit Java und den von dir genannten Sachen lösen können. 
Als nächstes könnte man dann das von Pyrokar vorgeschlagene Kartenspiel probieren, auch zunächst als Konsolenprogramm, und sobald du dich dann mit Grafik(bibliotheken(?)) für Java befasst, könnte man dazu eine grafische Ausgabe gestalten.