-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCampeonato.java
168 lines (119 loc) · 4.27 KB
/
Campeonato.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/**classe jogador.Onde se gere o campeonato
* Onde criam podem criar apostas e os dados do jogador
* Um HashMap : jogador ---> circuitos
*/
import java.util.*;
import java.io.*;
public class Campeonato implements Serializable {
//variaveis de instancia
private Map<String,Circuito> jmap;
private CorridaAL lstcircuito;
private String nome;
private String morada;
private Map<String,ArrayList> apostas;
private double conta;
//Construtores
/** construtor vazio */
public Campeonato(){
this.jmap=new HashMap<String,Circuito>();
this.lstcircuito = new CorridaAL();
this.nome = "";
this.morada = "";
this.apostas = new HashMap();
this.conta = 0.0;
}
/**construtor das partes */
public Campeonato(Map<String,Circuito> jm,CorridaAL lstci,
String jg,String mor,Map<String,ArrayList> apo,double con) {
this.jmap = jm;
this.lstcircuito = lstci;
this.nome = jg;
this.morada = mor;
this.apostas = apo;
this.conta = con;
}
/**construtor de copia */
public Campeonato(Campeonato j ){
this(j.getLstJogadores(),j.getlstcircuito(),j.getNome(),
j.getMorada(),j.getlstapostas(),j.getConta());
}
/**@return Lista jogadores */
public Map<String,Circuito> getLstJogadores(){ return this.jmap; }
/**@return Lista circuitos */
public CorridaAL getlstcircuito() {return this.lstcircuito; }
/**@return Lista apostas */
public Map<String,ArrayList> getlstapostas() {return this.apostas; }
//METODOS
/**Criar um hashmap de jogador para listaDeCircuitos.
/**inscreve jogador num circuito. Nome do jogador--> [circuitos]*/
/**@param nome do jojador. nome do circuito */
public void criaJogador(String no,Circuito c) {
jmap.put(no,c.clone());
lstcircuito.adCircuitos(c);
}
/**criar as apostas */
/**apostar nos carros de um circuito */
/**@param nome,Circuito,ArrayList<Carros> */
public void carrosJogador(String nome,Circuito id,ArrayList<Carros> c) {
CorridaAL ci= null;
ArrayList ap=new ArrayList();
if(jmap.containsKey(nome)); //se existe jogador
Circuito ca = this.jmap.get(id); //codigo do circuito
ap.add(c);
apostas.put(nome,ap);
}
/**@return o nome dos jogadores */
public Object coApostadores(){
return apostas.keySet();
}
/**@return as apostas de um jogador */
/**@param nome */
public Map coJogador(String nome){
Map<String,ArrayList> jo= new HashMap<String,ArrayList>();
Carros ca=null;
if(jmap.containsKey(nome));
ArrayList<Carros> ap = apostas.get(nome);
jo.put(nome,ap);
return jo;
}
/**--------------*/
/**FICHEIROS*/
/**--------------*/
/**Gravar em Ficheiro */
public void gravarFicheiro(String fich) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(fich));
Campeonato ca=null;
oos.writeObject(ca);
//oos.writeObject(lstCarros); /**guarda os dados do sistema [ok]*/
//oos.writeObject(lstCircuitos);
oos.flush();
oos.close();
}
/**Ler Ficheiro */
public static Object lerFicheiro(String fich)
throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fich));
Campeonato te = new Campeonato();
try {
te= (Campeonato) ois.readObject();
} finally {
ois.close();
}
return te ;
}
//Metodos Get e set
/** @return jogador */
public String getNome() { return nome; }
/** @return morada */
public String getMorada() { return morada; }
/** @return contaCorrente */
public double getConta() { return conta; }
/** @param jogador. Novo valor de morada */
public void setNome(String mo) { this.morada = morada; }
/** @param morada. Novo valor de morada */
public void setMorada(String morada) { this.morada = morada; }
//metodos complementares
/**clone */
public Campeonato clone(){return new Campeonato(this); }
}