Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Text in Konsole schreiben, den man irgendwie verändern kann.
Nach Stundenlanger suche mit Google und mehreren Suchen über dieses Forum hier,
bin ich nun verzweifelt genug, um mein Problem zu posten.
Folgendes:
Wir sollen ein Memoryspiel programmieren, was über die Konsole in Java ablaufen soll.
Spielfeldgröße zunächst 4x4.
Das Feld sieht so aus
XXXX
XXXX
XXXX
XXXX
Das ist ja bisher noch kein Problem...
Jetzt will mein Prof allerdings, dass man mit den Cursortasten durch dieses Feld
navigieren kann und an einer bestimmten Stelle den Cursor setzt, in unserem Fall
ein @, um dort die Stelle zu markieren, wo eine Karte umgedreht werden soll.
Ich muss jetzt also an einer bestimmten Stelle aus einem X ein @ machen...
...und daran verzweifele ich im Moment vollkommen.
Wenn ich den schmarn mit print oder println reinschreibe, kann ich am Text
nichts mehr verändern.
:shock:
Was mache ich jetzt?
Ich würde mich über einen kleinen Denkanstoß sehr freuen.
merk dir wo der cursor ist und zeichne den dann an die entsprechende position. Blinken oder so kannst du vergessen, geht mit plain java nicht, müsstest du JCurses oder eine andere native lösung nehmen.
Auch beim aufdecken musst du alles neu ausgeben, wenn du ohne native bibliothek arbeitest
Ich habe mir jetzt ein Feld mit dem Namen mem[] angelegt. Ich starte bei mem[0].
Dann muss ich die Cursortasten auslesen und wenn jetzt z.B. runtergedrückt wird,
dann muss ich den sprung berechnen und den ganzen schmarn neuzeichnen.
Ok, dass hilft mir erstmal weiter...
Aber...das ist ein Haufen arbeit :?
Super und ich dachte das ich das hier reinwixxe und dann einen trinken gehen kann :autsch:
Super
Danke euch zunächst. Komme wahrscheinlich gleich nochmal auf euch zurück
Mir sind leider auch nur plattformabhängige Lösungen bekannt. Unter MS-DOS gibt es zB den Befehl cls mit dem der ganze Konsolenoutput gelöscht wird.
Du könntest also zB vor jedem "neuzeichnen" des Spielfeldes
Code:
Runtime.getRuntime().exec( "cls" );
ausführen.
Ob das dann wirklich zum gewünschten Ergebnis führt kann ich nicht sagen, und wie gesagt wenn, dann nur unter MS-DOS.