Diferència entre revisions de la pàgina «M3 - Programació estructurada / Pràctiques UF2: Pt2»

De wikiserver
Dreceres ràpides: navegació, cerca
(Atributs dels lluitadors)
(Atributs dels lluitadors)
Línia 27: Línia 27:
 
:*'''Defensa:''' igual que l’anterior, però per a estratègies defensives.
 
:*'''Defensa:''' igual que l’anterior, però per a estratègies defensives.
  
El  programa  es  basa  en  què  el  ju
+
El  programa  es  basa  en  què  el  jugador va  realitzant  un  combat  rere  l’altre  contra diferents adversaris. Per guanyar, ha de sobreviure a deu combats. Fins que no acaba un combat, i s’ha decidit si el jugador l’ha guanyat o l’ha perdut, no es comença un de nou.  
gador va  realitzant  un  combat  rere  l’altre  contra  
+
 
diferents adversaris. Per guanyar, ha de sobreviure a deu combats. Fins que no acaba un  
+
A l’inici de cada combat, es mostra l’estat actual del jugador, el valor actual de tots els seus atributs, i se li pregunta contra quin adversari vol lluitar. El jugador ha d’escriure el nom d’un adversari. Si aquest nom no es troba entre el dels adversaris disponibles en el joc, iniciarà un combat contra un triat a l’atzar entre tots els adversaris disponibles del seu mateix nivell o un de diferència. Això evita que, per sorpresa, es trobi que  ha de lluitar contra un adversari massa poderós per a ell, impossible de guanyar.  
combat, i s’ha decidit si el jugador l’ha guanyat o l’ha perdut, no es comença un de nou.  
+
 
A l’inici de cada combat, e
+
Si el nom pertany a algun adversari disponible, llavors s’enfronta contra ell. En aquest cas,  no  hi  ha  cap  restricció  de  nivell.  El  jugador  pot  triar  lluitar  contra  adversaris  molt més o menys poderosos que ell.  
s mostra l’estat actual del jugador, el valor actual de tots els  
+
 
seus atributs, i se li pregunta contra quin adversari vol lluitar. El jugador ha d’escriure el  
+
Aquest plantejament està disposat de manera que, d’entrada, un nou jugador no sap el nom de cap adversari, ja  que no es proporciona cap llista (a menys que hagi fet el programa o vist el codi font, és clar). La intenció  és que vagi descobrint nous noms d’adversaris a mesura que va jugant partides, o parlant amb amics que també juguin al joc.
nom d’un adversari. Si aquest nom no es troba entre el dels adversaris disponibles en el  
 
joc, in
 
iciarà un combat contra un triat a l’atzar entre tots els adversaris disponibles del  
 
seu mateix nivell o un de diferència. Això evita que, per sorpresa, es trobi que  ha de  
 
lluitar contra un adversari massa poderós per a ell, impossible de guanyar.  
 
Si el n
 
om pertany a algun adversari disponible, llavors s’enfronta contra ell. En aquest  
 
cas,  no  hi  ha  cap  restricció  de  nivell.  El  jugador  pot  triar  lluitar  contra  adversaris  molt  
 
més o menys poderosos que ell.  
 
Aquest plantejament està disposat de manera que, d
 
’entrada, un nou jugador no sap el  
 
nom de cap adversari, ja  que no es proporciona cap llista (a menys que hagi fet el  
 
programa o vist el codi font, és clar). La intenció  és que vagi descobrint nous noms  
 
d’adversaris a mesura que va jugant partides, o parla
 
nt amb amics que també juguin al  
 
joc
 
.
 
  
 
==Resolució d'una ronda de combat==
 
==Resolució d'una ronda de combat==

Revisió del 16:42, 5 abr 2018

El joc de combats a l'arena

El programa que serveix com a fil argumental d’aquest apartat és un joc, en el qual el jugador es va enfrontant amb diversos adversaris en una arena. Cada combat es divideix en rondes, a l’inici de les quals el jugador i el seu adversari trien secretament una estratègia a seguir. Cada ronda pot seguir una estratègia diferent. Segons les estratègies triades per cadascú, el combat s’anirà resolent més favorablement cap a un o cap a l’altre, fins que finalment es consideri que un dels dos ha estat derrotat. Si es derrota l’adversari, s’atorga una puntuació al jugador. Si el jugador és derrotat, acaba la partida.

L’objectiu final del jugador és sobreviure deu combats, assolint la màxima puntuació possible en el procés.

Tant per mostrar dades a l’usuari com per introduir les ordres del jugador, s’usa només text.

Atributs dels lluitadors

Per descriure tots els lluitadors, tant el jugador com els seus adversaris, aquests disposen d’un seguit d’atributs que indiquen el seu estat en tot moment. Alguns d’aquests atributs serveixen per establir com progressa el combat i poden veure modificats els seus valors.

Tot seguit s’enumeren:

  • Nom: el nom del lluitador. Per al jugador és “Aventurer”, mentre que per als adversaris es referirà a criatures fantàstiques (“Nan”, “Ogre”, “Hidra”, etc.)
  • Nivell: indicador general de la capacitat de combat del lluitador.
  • Punts: els punts que ha acumulat el lluitador fins al moment.
  • Punts de Vida (PV): l’energia del lluitador actual, que pot variar al llarg del combat. Quan arriba a 0 o menys, es considera derrotat.
  • Punts de Vida Màxims: valor màxim que poden tenir els punts de vida en qualsevol moment.
  • Atac: la seva capacitat de dur a terme amb èxit estratègies ofensives. S’usa per resoldre el resultat d’una ronda de combat.
  • Defensa: igual que l’anterior, però per a estratègies defensives.

El programa es basa en què el jugador va realitzant un combat rere l’altre contra diferents adversaris. Per guanyar, ha de sobreviure a deu combats. Fins que no acaba un combat, i s’ha decidit si el jugador l’ha guanyat o l’ha perdut, no es comença un de nou.

A l’inici de cada combat, es mostra l’estat actual del jugador, el valor actual de tots els seus atributs, i se li pregunta contra quin adversari vol lluitar. El jugador ha d’escriure el nom d’un adversari. Si aquest nom no es troba entre el dels adversaris disponibles en el joc, iniciarà un combat contra un triat a l’atzar entre tots els adversaris disponibles del seu mateix nivell o un de diferència. Això evita que, per sorpresa, es trobi que ha de lluitar contra un adversari massa poderós per a ell, impossible de guanyar.

Si el nom pertany a algun adversari disponible, llavors s’enfronta contra ell. En aquest cas, no hi ha cap restricció de nivell. El jugador pot triar lluitar contra adversaris molt més o menys poderosos que ell.

Aquest plantejament està disposat de manera que, d’entrada, un nou jugador no sap el nom de cap adversari, ja que no es proporciona cap llista (a menys que hagi fet el programa o vist el codi font, és clar). La intenció és que vagi descobrint nous noms d’adversaris a mesura que va jugant partides, o parlant amb amics que també juguin al joc.

Resolució d'una ronda de combat

Exemple de ronda de combat

Resolució de la finalització del combat

Identificació de les dades a tractar

Disseny descendent

Mòduls

El paquet "joc.arena.regles"

La classe Monedes

La classe Lluitador

Mètodes vinculats a l'estat del lluitador

La classe Bestiari

La classe Combat

Mètodes que cal codificar

El paquet "joc.arena.interficie"

La classe EntradaTeclat

La classe SortidaPantalla

La classe principal (JocArena)

Sortida del programa