Contratti delle operazioni (UC2) - GioeleCicchini/TankWar GitHub Wiki

CO1: iniziaImpostareBattaglia#

Operazione iniziaImpostareBattaglia()

Riferimenti casi d'uso: Simulare Battaglia

Precondizioni none

Postcondizioni:

  • è stata creata un'istanza b di Battaglia (creazione di istanza).
  • Il Tank del Player è stato associato con b (associazione formata).
  • b.terminata è stata inizializzata a FALSE (modifica di attributo).

CO2: scegliStrategia#

Operazione scegliStrategia(strategia s)

Riferimenti casi d'uso: Simulare Battaglia

Precondizioni Sono state mostrate all'utente le sue Strategie tra le quali può scegliere

Postcondizioni:

  • La strategia s è stata associata al Tank combattente (associazione formata)
  • Il tank avversario contenente la sua strategia di default viene associato alla battaglia b (associazione formata)
  • è stata create un'istanza cb di campo di battaglia (creazione di istanza)
  • Il campo di battaglia cb è stato associato con la battaglia b (associazione formata)
  • L'orientamento è stato inizializzato correttamente (modifica di attributo)
  • La posizione del tank è stata decisa (da vedere come)
  • è stata creata un'istanza t di turno (creazione di istanza)
  • t è stata associata alla battaglia b (associazione formata)

CO3: iniziaBattaglia#

Operazione iniziaBattaglia()

Riferimenti casi d'uso: Simulare Battaglia

Precondizioni La battaglia è pronta per iniziare

Postcondizioni:

  • Vengono effettuati ciclicamente dei turni con le relative modifiche agli oggetti caratterizzanti la battaglia (Tank, turno e battaglia)
  • Al termine della battaglia è stato settato terminata a TRUE (modifica di attributo)
  • è stato modificato correttamente l'attributo risultato (modifica di attributo)

CO4: faiSimulazioniStatistiche#

Operazione faiSimulazioniStatistiche(int numeroVolte)

Riferimenti casi d'uso: Simulare Battaglia

Precondizioni è stata già effettuata una battaglia

Postcondizioni:

  • Vengono effettuate numeroVolte battaglie rispettando tutti i contratti sopra elencati (dal secondo in poi)