Lab X: Battaglia Navale

Documenti analoghi
AccumulatoreSomma AccumulatoreSommaProdotto AccumulatoreSomma AccumulatoreSommaProdottoDivisione

Nome... Anno...

Esercitazione gennaio 2015

Cercare il percorso minimo Ant Colony Optimization

GIOCARE CON LA MATEMATICA : la battaglia navale

Esercitazione 3. Espressioni booleane I comandi if-else e while

Analogie e differenze tra i due metodi?

ASL /09/ /09/ /09/2013] 17 UE

Lab 1: Marzo 2013

1 Campionato Italiano di KUBB

Analogie e differenze tra i due metodi?

REGOLE DI BASE DEL GIOCO DEGLI SCACCHI

Lab 0: 23 Marzo Marco D. Santambrogio Gianluca Durelli - Ver. aggiornata al 19 Marzo 2015

autore: Cognome Nome classe: 1ART PC numero: 30 data: 4 giugno 2011 Gioco dell'11

IEIM Esercizio: L albero Genealogico

SPORT AGRO A PORTE APERTE I MARTEDÌ GRATIS PER I RAGAZZI DI ROCCAPIEMONTE

Diagrammi a blocchi 1

Gioco di carte per 2 o 4 giocatori a partire da 6 anni

ThreeChess. Ovvero, come giocare a scacchi in tre

ThreeChess. Ovvero, come giocare a scacchi in tre.

Manuale di Kiriki. Albert Astals Cid Eugene Trounev Traduzione dell interfaccia: Marcello Anni Traduzione della documentazione: Federico Zenith

Diagrammi a blocchi 1

La rivista di giochi logici. Amico Logico. organizza il. 2 CAMPIONATO STUDENTESCO DI GIOCHI LOGICI per l anno scolastico

Traduzione e adattamento a cura di Gylas per Giochi Rari. Versione 1.1 Novembre

Il tuo manuale d'uso. LEXIBOOK GT4000

ELEMENTI BASE DEL GIOCO

Un gioco per famiglie per 2-4 giocatori, da 7 a 99 anni

Esercitazioni Fisica Corso di Laurea in Chimica A.A

giochi sulla persistenza

La rivista di giochi logici. Amico Logico. organizza il. 2 CAMPIONATO STUDENTESCO DI GIOCHI LOGICI per l anno scolastico

Manuale di Naval Battle. Daniel Molkentin Nikolas Zimmermann Anton Brondz Frerich Raabe Traduzione della documentazione: Andrea Celli

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Esercizi di programmazione in linguaggio C++ Classi

Informatica B

Contenuto. Tabellone di gioco a più livelli consistente. 1 dado con facciate con i numeri. 4 maghi nei colori rosso, blu, giallo e verde

Tetrapyramis. organizza. Duello. Gara di giochii logici a squadre per Istituti Scolastici

Lezione 1. Fondamentali

PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010

SPLUT! Regolamento Italiano. Gioco di strategia astratto ideato da Tommy De Coninck. Versione 4

Esercitazione 4. Comandi iterativi for, while, do-while

1. In una progressione aritmetica il prodotto del nono termine per il sesto è 2146 e la loro differenza è 21.Calcolare il primo termine e la ragione.

Istruzioni iterative (o cicliche)

Il nostro programma scolastico regionale motorio e sportivo dai 6 agli 11 anni. QUINTA Classe

UFFICIO SCOLASTICO REGIONALE per la CALABRIA. UFFICIO di COORDINAMENTO per l EDUCAZIONE MOTORIA, FISICA e SPORTIVA

Progetto: Dama. 1 - Descrizione. 2 - Regole del gioco. Appello di febbraio 2003

Informatica B

Il sole e le ombre. Un percorso in costruzione, modifiche ed adeguamenti. Claudia Iacopini, Lorella Cesare. Scuola Primaria Vinci 2014

GEOMETRIA ANALITICA 1 IL PIANO CARTESIANO

Algoritmi e basi del C

La rivista di giochi logici. Amico Logico. organizza il. 2 CAMPIONATO STUDENTESCO DI GIOCHI LOGICI per l anno scolastico

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Pagina 1/9 Mini-Olimpiadi: una giornata di sport all'insegna dell'amicizia fra grandi e piccini

REGOLE DI BASE. Quando orientiamo la scacchiera la casa posta nell'angolo a destra di ogni giocatore deve essere di colore chiaro.

Lab 1 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 20 O0obre 2014

1. PESCA DEGLI ARTISTI E DEI MONUMENTI 2. PESCA DELLE CARTE FLORENZA 3. AZIONI

Finalista. del concorso. Finalista MANUALE DI GIOCO

KORFBALL (PALLA CESTO)

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica

In Action With Math. Competizione e Strategia - Teoria dei Giochi. Roberto Lucchetti - Giulia Bernardi. Politecnico di Milano

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando

PROGRAMMA SPORTIVO NAZIONALE Specialità BIATHLON Carambola Tre Sponde + Italiana 5 birilli ATTIVITA AGONISTICA 2014/15

Un gioco per 2-4 direttori di zoo a partire dai 13 anni. COMPONENTI 10 dadi speciali ognuno con 6 simboli Coccodrillo

KRETA. Regole di gioco

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Laboratorio di Python

Laboratorio in C su Processi e POSIX IPC (Inter Process Communications) Dalla nona lezione di laboratorio in avanti

IIS D ORIA - UFC PROGRAMMAZIONE DI DIPARTIMENTO INDIRIZZO TECNICO ECONOMICO PER IL TURISMO MATERIA MATEMATICA ANNO DI CORSO CLASSE TERZA

Regole di Gioco Specialità Palla 8

Considerazioni sperimentali sulla premisura di lunghezza e superficie nella Scuola dell Infanzia

Algoritmi e basi del C

Note sul Sudoku. Marco Liverani. Dicembre 2005

Montego Bay. Nel piccolo porto dell idilliaca baia nella parte nordoccidentale

Programmazione mensile Mod 005-Rev 02

Elementi di Informatica e Programmazione PPING 20 aprile 2010 Non saranno corretti elaborati scritti confusamente o con grafia difficilmente leggibile

FONDAMENTI DI INFORMATICA L-A Ing. Gestionale/dei Processi Gestionali Prof. Bondi Prova scritta del 11/12/2007 COMPITO A Prova Completa

Alfa. Il GO tra gioco, matematica ed economia. Alla ricerca della strategia ottimale

CORSO DI LINGUAGGI DI PROGRAMMAZIONE Progetto A.A. 2008/2009

Traduzione degli SFC in Ladder Logic

Lezione 1 (18/09/2014)

UNIVERSITÀ DEGLI STUDI DI BERGAMO Facoltà di Ingegneria. Corso di ECONOMIA INDUSTRIALE. Introduzione. Definizione del gioco

Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica

KUBB UN GIOCO PER TUTTI. Regole del Campionato Mondiale

2 CAMPIONATO STUDENTESCO DI GIOCHI LOGICI. Anno scolastico Fase finale, Fiera Play di Modena, sabato 11 aprile 2015

Istituto Comprensivo Statale di via delle Betulle. Scuola Primaria E. De Filippo - Pieve Emanuele GIOCHI DI FINE ANNO SCOLASTICO

Corso di VIDEOGAMES. PROGETTO Labirinto. Guida alla creazione di un VIDEOGAMES. Parte PRIMA Definiamo il personaggio. prof.

Variazioni Rugby a 10. Variazioni per il Rugby a 10 REGOLAMENTO DI GIOCO

È possibile definire vettori di qualunque tipo Possiamo, quindi, anche avere vettori di stringhe Ad esempio:

Appunti ed esercizi su: La rappresentazione cartesiana di funzioni, equazioni, disequazioni

Burg appenzell. ( Traduzione a cura di Andrea Turing70 Casarino della Tana dei Goblin )

A QUALE UNDER APPARTENGO?

OBIETTIVI MINIMI DI MATEMATICA

determinare le coordinate di P ricordando la relazione che permette di calcolare le coordinate del punto medio di un segmento si

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

2.1) Ogni pietra avversaria catturata vale un punto.

Traduzione: Componenti Il Gioco Il Tabellone Preparazione

ISTITUTO DI ISTRUZIONE SECONDARIA SUPERIORE CADUTI DELLA DIRETTISSIMA, Castiglione dei Pepoli (BO) PROGRAMMAZIONE A.S. 2015/2016

Grandezze scalari e vettoriali

Rappresentazione di Dati: Scala lineare Scala logaritmica. Grafici Lin Lin Grafici Lin Log Grafici Log Log

Roberto Messa e Maria Teresa Mearini. Il Gioco degli Scacchi

Transcript:

Lab X: Battaglia Navale Gianluca Durelli durelli@elet.polimi.it Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 12 Maggio 2013

Argomenti Argomenti di questo laboratorio: Funzioni Strutture dati Obiettivo: Risolvere gli esercizi 1 e 2 2

Battaglia Navale Definizione strutture dati Inizializzazione partita Disegna tabellone di gioco Esegui mossa giocatore Controlla vincitore Gestione dell intera partita 3

Esercizio 1 Definizione strutture dati Si definiscano le strutture dati per la gestione della battaglia navale: 2 Giocatori Ogni giocatore ha: Un nome Un tabellone su cui posizionare le navi (TabelloneNavi) Un tabellone su cui segnare i risultati delle sue mosse (colpito, affondato, mancato) (TabelloneRisultati) Un insieme di navi di diverso tipo e dimensione: Sottomarino: lunghezza 1 Incrociatore: lunghezza 2 Portaerei: lunghezza 4 Ogni nave: Ha una posizione nel tabellone (x,y) E messa in una direzione (orizzontale o verticale) Può essere o meno affondata E di un particolare tipo: Sottomarino, Incrociatore, Portaerei Regole generali: La dimensione del campo da gioco e il numero di navi per ogni tipo è un parametro definibile a priori Le navi possono essere posizionate sul tabellone in orizzontale oppure verticale Le navi non possono sovrapporsi tra loro 4

Esercizio 2 Inizializzazione partita Si scriva il codice necessario per dare inizio ad una partita: Richiesta dati dei giocatori: Nome Posizione iniziale delle navi: Per ognuna delle navi da posizionare vengono richieste le coordinate x ed y e la direzione (orizzontale o verticale) La nave viene posizionata a partire dalla posizione x,y e muovendosi nel verso delle x crescenti (orizzontale) oppure y crescenti (verticale) Suggerimento: Si usino 2 funzioni: Una per la richiesta dei dati Una per controllare che data una nave ed un tabellone questa non vada a sovrapporsi a navi già presenti In caso contrario si proceda alla richiesta di nuove corrdinate dove posizionare la nave Nota: Non è necessario rappresentare graficamente le navi, l importante è inizializzare le strutture dati. La rappresentazione è oggetto del prossimo esercizio 5

Esercizio 3 Disegna tabellone di gioco Si rappresenti il tabellone di gioco definito a valle dell inizializzazione dell esercizio 2 Si sfruttino le funzioni già presenti nel file sorgente, e presentate a lezione: disegna_schermo disegna_linea 6

Esercizio 4 - Esegui mossa giocatore Scrivere la parte di codice necessaria a realizzare una mossa del gioco: Richiesta coordinate dove colpire Controllo risultato mossa: Colpito Colpito ed affondato Mancato Aggiornamento del TabelloneRisultati del giocatore che fa la mossa Eventuale aggiornamento del TabelloneNavi dell altro giocatore 7

Esercizio 5 Controllo vincitore Scrivere una funzione che determina se la partita è stata vinta da qualcuno oppure è necessario continuare a giocare: Una partita si dichiara vinta dal giocatore A quando questo ha affondato tutte le navi del giocatore B 8

Esercizio 6 Gestione dell intera partita Scrivere una funzione che gestista la partita. La funzione combina le funzioni scritte negli esercizi precedenti: Inizializza le strutture dati Inizia un ciclo in cui ad ogni iterazione: Si disegna il tabellone Viene chiesta la mossa al giocatore corrente Il gioco viene aggiornato con il risultato della mossa Viene controllato se la partita ha un vincitore In questo caso il ciclo termina Si stampano le informazioni relative al vincitore della partita 9

BUON LAVORO! 10