Hallo zusammen,
In einem HangMan-Spiel habe ich zusätzlich einen Editor erstellt, womit man mindestens 20 Wörter eingeben kann und in liste.bin gespeichert werden.
Soweit kann ich auch auf die Liste zu greifen. Hier soll jetzt aus der Liste ein zufälliges Wort ausgewählt und angezeigt werden.
Das Anzeigen wird nicht das Problem sein. Ich habe das Problem, dass ich es nicht schaffe direkt aus der Liste ein zufälliges Wort auszuwählen. Dies soll nicht über ein Array passieren (dies habe ich geschafft).
Hier geht es eigentlich nur rein um den Weg, wie ich es umsetzen kann. Die Liste selbst ist als .bin gespeichert (soll auch sol bleiben).
Idee:
Da ich den Zeiger in der .bin-Liste mit seek() verschieben kann, wäre das eine Möglichkeit. Also müsste ich nur eine Zufallszahl erstellen, die mir sagt, welches Wort ausgewählt wird und den Zeiger dorthin verschieben zum Lesen und dann Ausgeben.
Aber wie schaffe ich es jetzt eine Zufallszahl ((int)Math.random() -> soweit klar) zu erstellen, die ich mit seek() verbinden kann, dass er mir das Wort ausgeben kann. Das Problem ist seek() erwartet ein Tpy long. Die Position des Zeigers bekomme ich mit getFilePointer() heraus -> auch kein Problem. Mit readUnsignedShort() bekomme ich die Wortlänge heraus -> auch ok. Über length() bekomme ich die Anzahl der ganzen Datei angezeigt. Dort könnte ich dann über die Zufallszahl auf einen x-beliebigen Wert der Datei zugreifen. Dennoch könnte hier auch ein Wert angesprochen werden, der mitten im Wort ist und somit bekomme ich eine Ausnahme.
Egal wie ich mir dies vorstelle, lande ich immer mit meiner Zufallszahl irgendwo und nicht da wo ich hin will.
Das sind soweit die Mittel, die ich kenne und erstmal nutzen soll. Und nochmals: Hier soll es nur um einen Weg gehen, wie man sowas umsetzen kann. Ich möchte keinen Quellcode oder so (das möchte ich schon selber machen).
mfg
In einem HangMan-Spiel habe ich zusätzlich einen Editor erstellt, womit man mindestens 20 Wörter eingeben kann und in liste.bin gespeichert werden.
Soweit kann ich auch auf die Liste zu greifen. Hier soll jetzt aus der Liste ein zufälliges Wort ausgewählt und angezeigt werden.
Das Anzeigen wird nicht das Problem sein. Ich habe das Problem, dass ich es nicht schaffe direkt aus der Liste ein zufälliges Wort auszuwählen. Dies soll nicht über ein Array passieren (dies habe ich geschafft).
Hier geht es eigentlich nur rein um den Weg, wie ich es umsetzen kann. Die Liste selbst ist als .bin gespeichert (soll auch sol bleiben).
Idee:
Da ich den Zeiger in der .bin-Liste mit seek() verschieben kann, wäre das eine Möglichkeit. Also müsste ich nur eine Zufallszahl erstellen, die mir sagt, welches Wort ausgewählt wird und den Zeiger dorthin verschieben zum Lesen und dann Ausgeben.
Aber wie schaffe ich es jetzt eine Zufallszahl ((int)Math.random() -> soweit klar) zu erstellen, die ich mit seek() verbinden kann, dass er mir das Wort ausgeben kann. Das Problem ist seek() erwartet ein Tpy long. Die Position des Zeigers bekomme ich mit getFilePointer() heraus -> auch kein Problem. Mit readUnsignedShort() bekomme ich die Wortlänge heraus -> auch ok. Über length() bekomme ich die Anzahl der ganzen Datei angezeigt. Dort könnte ich dann über die Zufallszahl auf einen x-beliebigen Wert der Datei zugreifen. Dennoch könnte hier auch ein Wert angesprochen werden, der mitten im Wort ist und somit bekomme ich eine Ausnahme.
Egal wie ich mir dies vorstelle, lande ich immer mit meiner Zufallszahl irgendwo und nicht da wo ich hin will.
Das sind soweit die Mittel, die ich kenne und erstmal nutzen soll. Und nochmals: Hier soll es nur um einen Weg gehen, wie man sowas umsetzen kann. Ich möchte keinen Quellcode oder so (das möchte ich schon selber machen).
mfg