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)