Diferència entre revisions de la pàgina «ASIX-M3-UF3-A2.2-Pràctica fitxers de text»

De wikiserver
Dreceres ràpides: navegació, cerca
(Rànquing)
Línia 1: Línia 1:
Combat a l'arena - Versió 2
+
'''Combat a l'arena - Versió 2'''
  
 
==Rànquing==
 
==Rànquing==
Línia 14: Línia 14:
 
Mètodes que cal codificar:
 
Mètodes que cal codificar:
  
'''generaFitxerInicial():'''  
+
'''generaFitxerInicial():''' Aquest mètode crearà si no existeix el fitxer "Ranquing.txt" en el directori de treball. Les dades amb les quals l'inicialitzarà seran les següents:
 +
<pre>
 +
JUG 10
 +
JUG 9
 +
JUG 8
 +
JUG 7
 +
JUG 6
 +
JUG 5
 +
JUG 4
 +
JUG 3
 +
JUG 2
 +
JUG 1
 +
</pre>
 +
on JUG és l'identificador del jugador i el número representa la puntuació d'aquest jugador.
  
'''cercarRanking(punts):'''
+
'''cercarRanking(punts):''' Donada una puntuació retorna la posició on s'ha de col·locar. Primer de tot cal cridar al mètode anterior per assegurar-se que el fitxer existeix. Si no té una puntuació prou alta per guardar-se en el fitxer retornarà -1.
  
'''entrarPuntuacio(inicials, punts, pos):'''
+
'''entrarPuntuacio(inicials, punts, pos):''' Cal posar aquesta puntuació amb les inicials del jugador a la posició que toqui. Donat el funcionament d'aquest tipus de fitxers de text i donat que no podem escriure al mig, la tàctica és la següent: anem llegint les puntuacions anteriors a la posició i les escrivim en un fitxer temporal, a continuació en aquest mateix fitxer guardem la puntuació nova i després guardem les puntuacions posteriors. Una vegada finalitzat aquest procés, eliminem el fitxer original i reanomenem el fitxer temporal amb el nom del fitxer original.
  
 
'''imprimirRanking():'''
 
'''imprimirRanking():'''

Revisió del 13:30, 3 maig 2021

Combat a l'arena - Versió 2

Rànquing

Partint del programa existent, es vol afegir una nova funcionalitat:

  • Mantenir un rànquing amb les deu millor puntuacions obtingudes. Aquestes es desen en un fitxer, de manera que es mantenen entre partides diferents. En finalitzar el joc, si un jugador ha obtingut una puntuació que mereix estar entre les deu primeres, pot indicar quines són les seves inicials (tres lletres), perquè hi constin associades a la puntuació.
  • Primer de tot caldrà crear el paquet fitxers.
  • Dins del paquet fitxers crearem el mòdul Ranquing.
Aquest mòdul serà l’encarregat de gestionar el fitxer amb les màximes puntuacions. Ha de poder tant llegir-les per mostrar-les per pantalla com modificar-ho per escriure’n de noves. Aquesta llista tindrà sempre 10 entrades, i inicialment, quan encara no s’ha jugat cap partida, hi haurà un seguit de puntuacions per defecte.

Mètodes que cal codificar:

generaFitxerInicial(): Aquest mètode crearà si no existeix el fitxer "Ranquing.txt" en el directori de treball. Les dades amb les quals l'inicialitzarà seran les següents:

JUG 10
JUG 9
JUG 8
JUG 7
JUG 6
JUG 5
JUG 4
JUG 3
JUG 2
JUG 1

on JUG és l'identificador del jugador i el número representa la puntuació d'aquest jugador.

cercarRanking(punts): Donada una puntuació retorna la posició on s'ha de col·locar. Primer de tot cal cridar al mètode anterior per assegurar-se que el fitxer existeix. Si no té una puntuació prou alta per guardar-se en el fitxer retornarà -1.

entrarPuntuacio(inicials, punts, pos): Cal posar aquesta puntuació amb les inicials del jugador a la posició que toqui. Donat el funcionament d'aquest tipus de fitxers de text i donat que no podem escriure al mig, la tàctica és la següent: anem llegint les puntuacions anteriors a la posició i les escrivim en un fitxer temporal, a continuació en aquest mateix fitxer guardem la puntuació nova i després guardem les puntuacions posteriors. Una vegada finalitzat aquest procés, eliminem el fitxer original i reanomenem el fitxer temporal amb el nom del fitxer original.

imprimirRanking():

Modificació dels mòduls originals

Mòdul EntradaTeclat

Mòdul SortidaPantalla

El programa principal (JocArena)