Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
POSIZIONARE I PERSONAGGI
3 //attributi
4 private String tipo_quadro;
5 private String nome_quadro;
6 private int numero_quadro;
7 private int numero_max_personaggi;
8
9 ArrayList<PersonaggioGioco> Orchi=new
ArrayList<PersonaggioGioco> (); //creo lista di
personaggi gioco di tipo cavaliere e orco
10 ArrayList<PersonaggioGioco> Cavalieri=new
ArrayList<PersonaggioGioco> ();
11
12
13 //costruttore
14 public Quadro(String tipo_quadro,String nome_quadro,int
numero_quadro,int numero_max_personaggi){
15 this.tipo_quadro=tipo_quadro;
16 this.nome_quadro=nome_quadro;
17 this.numero_quadro=numero_quadro;
18 this.numero_max_personaggi=numero_max_personaggi;
19 }
20 //metodi
21 public void aggiungiPersonaggio(PersonaggioGioco p){
22 if(p.gettipo_personaggio()=="cavaliere"){
23 Cavalieri.add(p);
24 System.out.println("HAI AGGIUNTO UN CAVALIERE!");
25 }
26 else{
27 Orchi.add(p);
28 System.out.println("HAI AGGIUNTO UN ORCO!");}}
29 public void controllaNumeroPersonaggi(Quadro q){
30 if((Orchi.size() + Cavalieri.size() ) <
q.getnumero_max_personaggi() ){
31 System.out.println("PUOI INSERIRE ANCORA ALTRI
PERSONAGGI!");
32 }else if((Orchi.size() + Cavalieri.size() ) ==
q.getnumero_max_personaggi() ){
33 System.out.println("INSERITO NUMERO MASSIMO DI
PERSONAGGI PER QUESTO QUADRANTE!");
Page 1
Quadro.java
34 }
35 else{
36 System.out.println("ERRORE,INSERITI TROPPI
PERSONAGGI!");
37 }}
38 public int getnumero_max_personaggi(){ //serve per il metodo
controllaNumeroPersonaggi,
39 return numero_max_personaggi;
40 }}
41 Page 2
Test.java
1 import java.io.*;
2 public class Test {
3
4 public static void main(String[] args) {
5 PersonaggioGioco p1 = new PersonaggioGioco("cavaliere",
5, 60, 90);
6 PersonaggioGioco p2 = new PersonaggioGioco("orco", 5, 40,
80);
7 PersonaggioGioco p3 = new PersonaggioGioco("orco", 5, 40,
80);
8 PersonaggioGioco p4 = new PersonaggioGioco("orco", 5, 40,
80);
9 PersonaggioGioco p5 = new PersonaggioGioco("orco", 5, 40,
80);
10 System.out.println(p1);
11 System.out.println(p2); //stampo oggetti creati
12 System.out.println(p3);
13
14 MossaSpeciale m1=new MossaSpeciale(001, "fire", 4);
15 MossaSpeciale m2=new MossaSpeciale(002, "thunder", 7);
16 MossaSpeciale m3=new MossaSpeciale(002, "thunder", 7);
17 MossaSpeciale m4=new MossaSpeciale(001, "fire", 4);
18
19 p1.aggiungi(m1);
20 p1.aggiungi(m2); //aggiungo ai personaggi le
mosse,creando per ognuno una lista di mosse
21
22 //p1.aggiungi(m4); //il confronto è fatto su tutti e
tre gli attributi,quindi questo restituirà errore
23 p1.elimina(m2);
24 //p1.elimina(m2); //da errore,gia non c'era piu la
mossa
25
26 Quadro q1=new Quadro("rosso", "zona nera", 1, 4);
27 q1.aggiungiPersonaggio(p1);
28 q1.aggiungiPersonaggio(p2);
29 q1.aggiungiPersonaggio(p3);
30 q1.aggiungiPersonaggio(p4);
31 q1.aggiungiPersonaggio(p5);
32 q1.controllaNumeroPersonaggi(q1);
33
34 //CHIESTO DAL TESTO
Page 1
Test.java
35 PersonaggioGioco [] warcraft = new PersonaggioGioco [3];
36 warcraft[0] = new PersonaggioGioco("cavaliere", 5, 40,
95);
37 warcraft[1] = new PersonaggioGioco("orco", 5, 46, 45);
38 warcraft[2] = new PersonaggioGioco("cavaliere", 5, 30,
34);
39 String file=new String(" ");
40 for (int i=0;i<warcraft.length;i++){
41 PersonaggioGioco e=warcraft[i];
42 file += "TIPO PERSONAGGIO: " +
e.gettipo_personaggio() + " -------NUMERO DI MOSSE SPECIALI: " +
e.getnumero_mosse_speciali() + " --------ENERGIA: " +
e.getenergia() + " --------POTENZA: " + e.getpotenza() + " \r\n "
;
43 }
44 try{
45 PrintStream scrivi = new PrintStream(new
FileOutputStream("Lista.txt"));
46 scrivi.println(file);
47 }catch(IOException g){
48 System.out.println("ERRORE DI SCRITTURA ");
49 }
50 //parte interfaccia grafica
51 InterfacciaGrafica i= new InterfacciaGrafica();
52 i.setDefaultCloseOperation(InterfacciaGrafica.EXIT_ON_CLOSE);
53 i.setVisible(true);
54 }}
55 Page 2
InterfacciaGrafica.java
import java.awt.*;
public class InterfacciaGrafica extends JFrame {
private JLabel l1,l2,l3,l4,l5;
private JTextField t1,t2,t3,t4,t5;
public InterfacciaGrafica(){
setSize(800,300);
setTitle("GESTIONE PèERSONAGGI");
setLocation(200,100);
setResizable(true);
Container c= getContentPane();
JPanel P= new JPanel();
P.setLayout(new GridLayout(4,1));
c.add(p);
JLabel l1 = new JLabel("TIPO PERSONAGGIO");
p.add(l1);
t1=new JTextField(10);
p.add(t1);
JLabel l2 = new JLabel("NUMERO MOSSE");
p.add(l2);
t2=new JTextField(10);
p.add(t2);
JLabel l3 = new JLabel("ENERGIA");
p.add(l3);
t3=new JTextField(10);
p.add(t3);
JLabel l4 = new JLabel("POTENZA");
p.add(l4);
t4=new JTextField(10);
p.add(t4);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}} Page 1
Corso di Programmazione ad Oggetti
Prof. Massimo Ficco (A.A. 2016-2017)
Prova del 22/12/2016
Sviluppare un programma per la creazione del lista di pacchi.
Una interfaccia Lista_Pacchi esporta il seguenti metodi:
- Aggiungi(Pacco d): tale metodo aggiunge un nuova pacco alla lista;
- Modifica(Pacco d): tale metodo modificare un pacco presente nella lista.
implementa l’interfaccia di cui sopra.
Una classe astratta Lista
- La classe implementa i seguente metodo astratto:
- Rimuovi(Pacco d): tale metodo rimuove il pacco della lista.
- Un contatore che si incrementa alla inserimento di un nuovo pacco alla lista.
- Tale classe possiede i seguenti attributi: codice pacco, il nome della lista pacchi, la data di creazione della lista.
Una classe ListaPacchiPoP che eredita la classe Lista implementa i metodi Aggiungi/Rimuovi/Modifica Pacco in modo
da creare una lista di pacchi a scelta.
s’incrementa
Il codice lista è univoco e ogni volta che viene creato una nuova lista.
I Pacchi sono rappresentati da una classe i cui attributi sono il codice del pacco e il tipo del pacco, inizializzati tramite
un apposito costruttore.
Una classe Test crea permette di creare una lista di pacchi e di stamparla in un file di testo una volta completata.
un’interfaccia
Implementare grafica che permette al singolo operatore di aggiungere i pacchi a una lista.
Interfaccia.java
1 import javax.swing.*;
3
4 public class Interfaccia extends JFrame{
5 private JLabel l1,l2;
6 private JTextField t1,t2;
7 public Interfaccia(){
8
9 setTitle("GESTIONE PACCHI"); //metto titolo
10 setSize(500,250); //quanto è grande
11 setLocation(200,100); //dove si apre
12 Container c=getContentPane();
13 JPanel p=new JPanel();
14 p.setLayout(new GridLayout(6,1)); //faccio allineamento
6 righe e una colonna
15 JButton aggiungipacco = new JButton("AGGIUNGI PACCO");
16 JButton stampapacchi = new JButton("STAMPA LISTA
PACCHI)"); //creo pulsnti
17 p.add(aggiungipacco); //aggiungo i pulsanti al
pannello
18 p.add(stampapacchi);
19 c.add(p);
20
21 JLabel l1= new JLabel("CODICE PACCHI");
22 p.add(l1);
23 t1=new JTextField(20);
24 p.add(t1);
25
26 JLabel l2=new JLabel("TIPO PACCHI");
27 p.add(l2);
28 t2=new JTextField(20);
29 p.add(t2);
30
31 setVisible(true); //rendo visibile
32 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
33 }} Page 1
Lista.java
1 public abstract class Lista implements ListaPacchi{
2 //attributi
3 protected int codice_pacco;
4 protected String nome;
5 protected String data;
6 //costruttore
7 public Lista(int codice_pacco, String nome, String data) {
8 this.codice_pacco = codice_pacco;
9 this.nome = nome;
10 this.data = data;
11 }
12
13 //metodi
14 public abstract void rimuovi(Pacchi d);
15 } Page 1
ListaPacchi.java
1 public interface ListaPacchi{
2
3 //metodi astratti
4 public void aggiungi(Pacchi d);
5 public void modifica(Pacchi d);
6} Page 1
ListaPacchiPop.java
1 import java.util.ArrayList;
2
3 public class ListaPacchiPop extends Lista {
4 //attributi
5 protected static int contatore=0;
6 ArrayList<Pacchi> listapacco = new ArrayList <Pacchi>();
7 //costruttore
8 public ListaPacchiPop(int codice_pacco, String nome, String
data) {
9 super(codice_pacco, nome, data);
10 contatore++;
11 System.out.println("ho creato il seguente numero di liste
pacchi ---> " + contatore);
12
13 }
14 //metodi
15 public void aggiungi(Pacchi d) {
16 listapacco.add(d);}
17 public void modifica(Pacchi d) {
18 listapacco.set(0, d); //PER MODIFICARE USO IL SET
DANDO IN INGRESSO IL NUOVO CODICE E L OGGETTO
19 }
20 public void rimuovi(Pacchi d) {
21 if(listapacco.contains(d))
22 listapacco.remove(d);
23 else{
24 try{
25 throw new Error();
26 }catch(Error e){
27 System.out.println("ERRORE! il pacco non puoi
eliminarlo perchè già non c'è");
28 }}}
29 public String toString(){
30 String s="hai creato la Lista Pacchi chiamata: " + nome +
" creata in data: " + data ;
31 return s;
32 }}
33 Page 1
Pacchi.java
1 public class Pacchi {
2 //attributi
3 protected int codice_pacco;
4 protected String tipo_pacco;
5
6 //costruttore
7 public Pacchi(int codice_pacco, String tipo_pacco) {
8 super();
9 this.codice_pacco = codice_pacco;
10 this.tipo_pacco = tipo_pacco;
11 }
12 //metodi
13 public String toString(){
14 String s= " hai istanziato il pacco che ha codice: " +
codice_pacco + " ed è di tipo " + tipo_pacco ;
15 return s;
16 }
17 //ridefinisco equals per fare il confronto
18 public boolean equals(Object obj){
19 if(obj instanceof Pacchi){
20 Pacchi x=(Pacchi)obj;
21 if(this.tipo_pacco.equals(((Pacchi)obj).tipo_pacco) &&
codice_pacco ==x.getCodice_pacco())
22 return true;
23 else return false;
24
25 }else{
26 return false;}
27 }
28
29 public int getCodice_pacco(){
30 return codice_pacco;
31 }
32
33 public String getTipoPacco(){
34 return tipo_pacco;
35 }}
36
37
38 Page 1
Test.java
import java.io.*;
public class Test {
public static void main(Strin