Esercitazione 15-05-06  obiettivo: scrivere una applicazione per il gioco “Centra Bersaglio”  metodo individuazione e definizione delle classi necessarie.

Slides:



Advertisements
Presentazioni simili
Classi ed Oggetti in JAVA
Advertisements

Java e le interfacce grafiche
Costruttori e Distruttori
Applet Java.
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
1 Semantica Operazionale di un frammento di Java: lo stato.
1 Classi di memorizzazione. 2 Definiscono le regole di visibilità delle variabili e delle funzioni quando il programma è diviso su più file Stabiliscono.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Fondamenti di Informatica
Programmazione ad Eventi
Esempio applicazione Didattica personalizzata
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Seconda Lezione: Lavorare su una mappa Misurazioni Dati associati Salvare e riaprire un progetto Elementi decorativi.
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Lab X: Battaglia Navale
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Swing e la programmazione a eventi
Grafico di funzione Disegna la Matematica.
1 Eventi/2 Più movimento alle classi. 2 Eventi Java Modo per intercettare il verificarsi di certe condizioni / azioni e fare in modo che venga eseguito.
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
Più movimento alle classi
Gestione eventi esercitazione n aprile 2006.
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 81 Gestione dei colori La gestione dei colori in AWT consente di specificare un qualunque.
Approfondimento delle classi
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
Primi Elementi di Programmazione in C++
Ping Pong. PingPongComponent.java Interfaccia pubblica della componente public class PingPongComponent extends JComponent { // crea una component da includere.
1 Ereditarietà Una classe può essere derivata da una classe esistente usando la sintassi: public, protected e private specificano il tipo di accesso ai.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
JAVA E LA GRAFICA L’architettura Java è graphics-ready
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e.
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
CONVERSAZIONALE Esempio di utilizzo della programmazione guidata
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
Ereditarietà e Polimorfismo
Il foglio elettronico per Economia
CdL Ingegneria Elettronica, Telecomunicazioni ed Automazione Fondamenti di Informatica LB A.A /02/2008 Alessandra Toninelli
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Teoria della Complessità Concetti fondamentali
Esercizi Swing.
Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d. e.: L’oggetto interessato (event source) ad esempio.
Cos’è Dangers and Clashes? Un gioco strategico a turni in 2D ambientato in un epoca post-apocalittica, dove avremo la possibilità di: Scegliere un Team.
ESERCITAZIONE 12 ESERCIZIO 2 14/05/2014. Consegne 1/4 Definire la classe MyBufferedReader che estende la classe BufferedReader, implementando il metodo.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
Timer Animazioni.
ESPANSIONE Personalizzare l’interfaccia utente 2010.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Graphics Disegno a mano libera.
Java terzo contatto Swing Java.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
1 Semantica Operazionale di un frammento di Java: intro estensione (con piccole varianti) di quella di FP | v |
1 Semantica Operazionale di un frammento di Java: intro estensione (con piccole varianti) di quella di FP | v |
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Fondamenti di informatica T-A Esercitazione 9 : Un tema d'esame AA 2012/2013 Tutor : Domenico Di Carlo.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Planet HT – Genova - Elisa Delvai
Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro.
Introduzione alle Classi e agli Oggetti in Java 1.
Usare le mappe. MapKit Per utilizzare le mappe all’interno di uno specifico VIewController, è sufficiente inserire al suo interno una view di tipo MKMapView.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
Paradigma di programmazione event-driven
Transcript della presentazione:

esercitazione  obiettivo: scrivere una applicazione per il gioco “Centra Bersaglio”  metodo individuazione e definizione delle classi necessarie individuazione metodi pubblici  soluzione online dal (tardo) pomeriggio

file.java  CentraBersaglio solo per metodo main()  CentraBersaglioFrame crea frame che monta il pannello con tutta la grafica  PannelloGrafico contiene le classi  PannelloGrafico  AreaGioco  Bersaglio contiene la classe Bersaglio nonché i listener Movimento e Sparo

CentraBersaglioFrame  classe che estende JFrame, contenente solo il costruttore definisce titolo finestra e dimensioni definisce la “default close operation” crea un oggetto PannelloGrafico e lo addiziona al content pane in posizione “Center”

PannelloGrafico  classe che estende JPanel che contiene costruttore  definisce per il pannello un BorderLayout  crea ed inizializza un campo di testo, addizionandolo in posizione “North”  crea un oggetto AreaGioco (pannello contenente la grafica del bersaglio in movimento) e lo addiziona in posizione “Center” metodo setPunteggio  aggiorna il contenuto del campo di testo

AreaGioco  stesso file di PannelloGrafico, estende JPanel  istanzia pannelli che visualizzano il bersaglio in movimento  variabili istanza riferimento al bersaglio  metodi costruttore  istanzia il bersaglio, inizializzando la variabile di istanza paintComponent  per il fill del bersaglio

Bersaglio 1/2  estende Ellipse2D.Double  istanzia un cerchio colorato in movimento, registrando nel pannello che lo deve visualizzare (oggetto AreaGioco) un opportuno mouse listener  istanzia ed inizializza l’oggetto Timer, per la simulazione del movimento

Bersaglio 2/2  variabili globali variabili che descrivono geometria e colore del cerchio riferimento al Container in cui viene visualizzato il bersaglio (deve essere parametro passato al costruttore!) riferimento all’oggetto Timer altre… (non fondamentali)  metodi costruttore  inizializza l’oggetto, inizializza e registra i listener disegna  tramite fill  metodo invocato da paintComponent, che passa il parametro attuale Graphics2D setCentro  per traslare il bersaglio  chiama repaint

listener Movimento  implementa ActionListener  usato per rispondere agli eventi generati dall’oggetto Timer  variabili generatore Random  metodi costruttore  inizializza generatore random actionPerformed  genera movimento  verifica che il bersaglio traslato sia nell’area di gioco, gestendo eventuali rimbalzi  chiama setCentro

listener Sparo  estende MouseAdapter  metodi mousePressed  calcola le coordinate del click  costruisce punteggio (massimo se colpito il centro del bersaglio, nullo fuori dal bersaglio; decresce linearmente dal centro alla frontiera)  aggiorna punteggio, se necessario, chiamando il metodo setPunteggio della classe PannelloGrafico  l’oggetto PannelloGrafico è accessibile tramite il metodo getParent, applicato al container in cui viene disegnato il bersaglio