Il Gioco Delle Capitali

18
come implementare questo gioco con java ed il pannello Dos – Lezione febbraio 2009 – IV liceo tecnico

description

come fare un gioco delle capitali su dos con java

Transcript of Il Gioco Delle Capitali

Page 1: Il Gioco Delle Capitali

come implementare questo gioco con java ed il pannello Dos –

Lezione febbraio 2009 – IV liceo tecnico

Page 2: Il Gioco Delle Capitali

Viene richiesta la capitale di una nazione Il punteggio attribuito è 2 se la risposta

esatta viene data al primo tentativo Altrimenti viene riproposta la medesima

domanda e il punteggio attribuito è 1 se la risposta è esatta

Altrimenti il punteggio è zero e il computer fornisce la risposta corretta

Il gioco prosegue con la domanda successiva

Page 3: Il Gioco Delle Capitali

Dal testo del gioco che si vuole realizzare emerge la struttura del programma

È evidente che il fatto dominante, ossia più importante di questo programma è la decisione che deve prendere il computer riguardo la correttezza della risposta del giocatore alla domanda posta

Una decisione si implementa con l’istruzione condizionale if

Page 4: Il Gioco Delle Capitali

If (risposta corretta)punteggio=2

else {ripropongo domandaif (risposta corretta)

punteggio=1else {

hai sbagliatopunteggio=0

}

Page 5: Il Gioco Delle Capitali

Esaminando la struttura della precedente if, si vede chiaramente che abbiamo a che fare con un if nidificata.

La seconda if è interna alla alternativa (else) della if esterna

Possiamo dire che la soluzione di questo programma sta nello scrivere correttamente una istruzione if

Tutto il resto del programma ruota attorno a questo Sole.

Page 6: Il Gioco Delle Capitali

È sempre vero Occorre scoprire quale è il nucleo centrale del

nostro programma Tutto il resto ruoterà attorno ad esso Nel senso che saranno introdotti tutte le

funzione e tutti i dettagli necessari a quel nucleo centrale

Queste funzioni e questi dettagli via via sempre più precisi ruoteranno appunto attorno al nostro nucleo

Page 7: Il Gioco Delle Capitali

Da dove prendiamo le domande ? Con cosa confrontiamo le risposte del

giocatore ? Una possibile soluzione è quella di inserire

domande e risposte in un file testo “capitali.txt”

In questo file scriviamo in maniera consecutiva il nome di una nazione e della sua capitale

Page 8: Il Gioco Delle Capitali

Possiamo leggere i nomi del file tramite il metodo in.next() della classe Scanner

Ci conviene caricare tutti i dati del file in due array , uno per i nomi delle nazioni, l’altro per i nomi delle loro capitali

0 1 2 3 4 5 6 7

Italia Francia Spagna Germania Grecia Olanda Portogallo Austria

0 1 2 3 4 5 6 7

Roma Parigi Madrid Berlino Atene Amsterdam Lisbona Vienna

Page 9: Il Gioco Delle Capitali

Pertanto l’operazione preliminare del gioco è la lettura dei dati del file testo ed il loro caricamento negli array

Questa operazione si realizza con un’opportuna funzione caricaNazioniCapitali()

Questa funzione è pertanto specializzata nel caricare i dati nei due array definiti appunto per memorizzare rispettivamente e in caselle di indici corrispondenti i nomi delle nazioni e delle loro capitali.

Page 10: Il Gioco Delle Capitali

Avendo un array delle nazioni, possiamo introdurre un’iterazione che presenti, una alla volta, le domande, richieda la risposta e faccia quanto previsto dalla if, ossia dal nostro nucleo centrale del programma.

Tutto questo può avvenire dentro una funzione specializzata , chiamiamola gioca()

Page 11: Il Gioco Delle Capitali

Possiamo sapere se la risposta fornita dal giocatore è esatta, facendo un confronto tra due parole, quella digitata e quella contenuta nella cella opportuna dell’array capitali.

È un confronto tra due stringhe Questo introduce un ulteriore dettaglio alla

soluzione Si può delegare questo confronto con tutta la sua

casistica ad una funzione specializzata, chiamiamola confronta()

In prima approssimazione possiamo però limitarci al confronto puro e semplice con l’istruzione risposta uguale capitale

Page 12: Il Gioco Delle Capitali

Abbiamo decomposto il nostro programma in due funzioni principali:

caricaNazioniCapitali()

gioca()

Page 13: Il Gioco Delle Capitali

Questa funzione agisce sui due array globali, pertanto non ha parametri di input e non restituisce nulla.

Il problema da risolvere è leggere le stringhe del file testo e caricare le stringhe di ordine dispari (le nazioni) nell’array nazioni, e invece quelle di ordine pari (le capitali) nell’array capitali

Tecnicamente usiamo il resto della divisione tra un contatore delle stringhe e il divisore 2

Quando il resto è zero la stringa ha una posizione pari e quindi è una capitale, altrimenti ha una posizione dispari e quindi è una nazione

Page 14: Il Gioco Delle Capitali
Page 15: Il Gioco Delle Capitali

La funzione gioca() ha come input gli array globali, quindi non ha bisogno di parametri di input

Essa inoltre fa delle stampa sul monitor del computer, quindi non restituisce variabili

Il problema tecnico è quello di fare un’iterazione la cui condizione di uscita è l’incontro di una cella vuota oppure la fine dell’array

Il blocco dell’iterazione è il nucleo centrale del nostro algoritmo, ossia la nostra if

Page 16: Il Gioco Delle Capitali
Page 17: Il Gioco Delle Capitali
Page 18: Il Gioco Delle Capitali

Studiate il codice Cercate di comprendere

anche i dettagli delle istruzioni