Hola otra vez!,
Ya esta terminada!!, o por lo menos funciona, jajaja.
Estoy con las partes opcionales y una de ellas es utilizar ficheros, un archivo que guarde el ranking de los mejores jugadores, que lo mustre al finalizar y grabe en el la puntuacion. Pero como no hemos dado ficheros ando bastante perdido, de momento nos han dado codigos de ejemplo para leer y grabar en fichero, y hacerlo lo hace, pero tengo problemas segun tenia planteado el ranking.
public void mirarRecord(){
jugador = new Jugador ();
// Se inicializa la lista
/**record.jugador[0] = new Jugador ("Letto", 1000);
record.jugador[1] = new Jugador ("Oz4ma4", 1000);
record.jugador[2] = new Jugador ("Cabron", 500);
record.jugador[3] = new Jugador ("Cosma", 300);
record.jugador[4] = new Jugador ("Ottel", 200);*/
System.out.print ("Introduce tu nombre: ");
jugador.setNombre(leerTeclado());
jugador.setPuntuacion(puntuacion);
/**for (int a = 0; a < record.jugador.length; a++){
System.out.println ((a+1) +" - " +record.getJugador(a));
}*/
}
Cuando no tenia lo del fichero creaba un objeto record, que a su vez tenia un array de jugadores, los creaba para que no estuvieran vacios y si hacia mas puntos lo actualizaba.
Ahora con el fichero funciona bien, muestra el top, sustituye la puntuacion y jugador y graba el fichero, pero claro, cada vez que ejecuto este metodo me vuelve a poner los 5 que estan ahi...
La pregunta: ¿Como puedo hacer para que ese array se llene con los datos del archivo? Es algo relacionado con leer fichero claro, pero como son objetos que tiene nombre y puntuacion por separado...Eso no lo guarda el array...Se os ocurre alguna forma?.
Aqui el codigo ya cambiado que nos dieron para leer:
void leerFichero(){
//Creamos el flujo de entrada con FileReader
//Usamos el constructor que recibe un objeto de tipo String para el nombre del fichero
try {
FileReader flujoEntrada= new FileReader ("texto1.txt");
//Conectamos la salida del flujo de entrada con el búfer
BufferedReader bufer = new BufferedReader (flujoEntrada);
//BufferedReader implementa un método String readLine() para leer líneas enteras
String cadena="";
//readLine devuelve null cuando llega al final del fichero (EOF)
while (cadena!=null) {
cadena=bufer.readLine();
if (cadena!=null) System.out.println(cadena);
}//fin while
//cerramos los flujos
bufer.close();
flujoEntrada.close();
}
catch (FileNotFoundException e){
System.out.println("Error al abrir el fichero");
}
catch (IOException e){
System.out.println("Error al leer el fichero");
}
Gracias como siempre :p