La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti di Informatica B Ecosistema: una soluzione 6 classi6 classi 1 classe per main1 classe per main 1 classe di utilità generale1 classe di utilità.

Presentazioni simili


Presentazione sul tema: "Fondamenti di Informatica B Ecosistema: una soluzione 6 classi6 classi 1 classe per main1 classe per main 1 classe di utilità generale1 classe di utilità."— Transcript della presentazione:

1 Fondamenti di Informatica B Ecosistema: una soluzione 6 classi6 classi 1 classe per main1 classe per main 1 classe di utilità generale1 classe di utilità generale 4 classi specifiche (1 per la mappa, 3 per le entita’ contenute)4 classi specifiche (1 per la mappa, 3 per le entita’ contenute) Poco di più di 400 righe di codice (poco meno di 300 senza la classe di utilità)Poco di più di 400 righe di codice (poco meno di 300 senza la classe di utilità)

2 Fondamenti di Informatica B Ecosistema: main program Il main è molto semplice (come di norma dovrebbe): - crea un’istanza della classe Mondo - invoca un suo metodo per inizializzarla - esegue un semplice ciclo che invoca un metodo per l’evoluzione dell’istanza, quindi fa la visualizzazione e chiede all’utente se proseguireIl main è molto semplice (come di norma dovrebbe): - crea un’istanza della classe Mondo - invoca un suo metodo per inizializzarla - esegue un semplice ciclo che invoca un metodo per l’evoluzione dell’istanza, quindi fa la visualizzazione e chiede all’utente se proseguire

3 Fondamenti di Informatica B Ecosistema: classe Mondo Array bidimensionale di OggettoDelMondo, due attributi int per le dimensioni, qualche costanteArray bidimensionale di OggettoDelMondo, due attributi int per le dimensioni, qualche costante Inizializzazione con doppio ciclo for che invoca un metodo per creazione casuale di oggettiInizializzazione con doppio ciclo for che invoca un metodo per creazione casuale di oggetti Metodo toString() per visualizzazioneMetodo toString() per visualizzazione Metodo per restituire i vicini di una posizioneMetodo per restituire i vicini di una posizione Metodo per evoluzioneMetodo per evoluzione

4 Fondamenti di Informatica B Mondo: trovare i vicini Il metodo segue uno schema di soluzione generale al problema di fare delle operazioni in base ai vicini di una posizione e separa la logica delle operazioni da: - nozione di quali sono i vicini - problemi di indici errati ai limiti dell’arrayIl metodo segue uno schema di soluzione generale al problema di fare delle operazioni in base ai vicini di una posizione e separa la logica delle operazioni da: - nozione di quali sono i vicini - problemi di indici errati ai limiti dell’array I vicini sono inseriti in un Vector da un doppio for del quale si predispongono attentamente i limiti e che “salta” la posizione di riferimentoI vicini sono inseriti in un Vector da un doppio for del quale si predispongono attentamente i limiti e che “salta” la posizione di riferimento

5 Fondamenti di Informatica B Mondo: evoluzione Si crea una nuova mappa “vuota”Si crea una nuova mappa “vuota” Si procede su ogni elemento della mappa vecchia e si invoca un suo metodo (passando i vicini) per sapere quale sara’ il prossimo elemento contenuto in quella posizioneSi procede su ogni elemento della mappa vecchia e si invoca un suo metodo (passando i vicini) per sapere quale sara’ il prossimo elemento contenuto in quella posizione L’elemento viene inserito nella nuova mappaL’elemento viene inserito nella nuova mappa Alla fine si sostituisce la vecchia mappa con la nuovaAlla fine si sostituisce la vecchia mappa con la nuova

6 Fondamenti di Informatica B Oggetto del mondo Ha una descrizione, il metodo toString() e metodi booleani che rappresentano proprietà genericheHa una descrizione, il metodo toString() e metodi booleani che rappresentano proprietà generiche Di per se’ rappresenta lo spazio vuoto (scelta discutibile, ma evita classe astratta)Di per se’ rappresenta lo spazio vuoto (scelta discutibile, ma evita classe astratta) Ha il metodo prossimoStato che riceve un Vector di vicini ed applica ad esso le regole di evoluzione dello spazio vuotoHa il metodo prossimoStato che riceve un Vector di vicini ed applica ad esso le regole di evoluzione dello spazio vuoto Un metodo per contare vicini con certe proprietà generiche (aperto ad estensioni future)Un metodo per contare vicini con certe proprietà generiche (aperto ad estensioni future)

7 Fondamenti di Informatica B Animali e vegetali Due classi derivate da OggettoDelMondoDue classi derivate da OggettoDelMondo Sovrascrivono il metodo prossimoStati e alcuni dei metodi relativi alle proprietà in base alle loro caratteristiche specificheSovrascrivono il metodo prossimoStati e alcuni dei metodi relativi alle proprietà in base alle loro caratteristiche specifiche Possibili cambi significativi del comportamento della simulazione con piccoli cambi dei metodi specificiPossibili cambi significativi del comportamento della simulazione con piccoli cambi dei metodi specifici


Scaricare ppt "Fondamenti di Informatica B Ecosistema: una soluzione 6 classi6 classi 1 classe per main1 classe per main 1 classe di utilità generale1 classe di utilità."

Presentazioni simili


Annunci Google