-
Notifications
You must be signed in to change notification settings - Fork 0
/
Carta.java
132 lines (110 loc) · 2.55 KB
/
Carta.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
/**
* Classe per gestire una carta
*@version 1.0 (21-02-2019)
* @author Leonardo Canello, Gabriele Trevisan, Leonardo Daniele, Bodgan Popov, Alberto Bettella e Simone Dassani
*/
public class Carta{
/**
* Seme della carta
*/
Seme sem;
/**
* Valore della carta
*/
Valore val;
public Carta(Seme s, Valore v){
sem = s;
val = v;
}
public Carta(int s, int v)throws CartaNonValidaEcc{
try{
sem = new Seme(s);
val = new Valore(v);
}catch(CartaNonValidaEcc e){
throw new CartaNonValidaEcc();
}
}
/**
* Restituisce il seme della carta
* @return sem, restituiasce il seme della carta
*/
public Seme getSem(){
return sem;
}
/**
* Restituisce il valore della carta
* @return val, restituisce il valore della carta
*/
public Valore getVal(){
return val;
}
/**
* Imposta il seme della carta
* @param s Oggetto seme
*/
public void setSem(Seme s){
sem = s;
}
/**
* Imposta il seme della carta
* @param s Valore del seme
* @throws CartaNonValidaEcc se il valore non è tra quelli definiti
*/
public void setSem(int s) throws CartaNonValidaEcc{
try{
sem.setS(s);
}catch(CartaNonValidaEcc e){
throw new CartaNonValidaEcc();
}
}
/**
* Imposta il valore della carta
* @param v Oggetto valore al quale impostare la carta
*/
public void setVal(Valore v){
val = v;
}
/**
* Imposta il valore della carta
* @param v Valore al quale impostare la carta
* @throws CartaNonValidaEcc se il valore non è tra quelli definiti
*/
public void setVal(int v) throws CartaNonValidaEcc{
try{
val.setV(v);
}catch(CartaNonValidaEcc e){
throw new CartaNonValidaEcc();
}
}
/**
* Restituisce il nome completo della carta combinando i nomi di seme e valore
* @return restituisce il nome della carta
*/
public String cartaStringa(){
String valore, seme;
valore = val.valoreStringa();
seme = sem.semeStringa();
return(valore + " di " + seme);
}
/**
* Confronta se la carta è uguale ad un'altra
* @param c carta da confrontare
* @return true se le carte sono uguali altrimenti false
*/
public boolean ugualeCarta(Carta c){
boolean output;
Seme s2 = c.getSem();
Valore v2 = c.getVal();
int val1, val2, sem1, sem2;
val1 = val.getV();
val2 = v2.getV();
sem1 = sem.getS();
sem2 = s2.getS();
if (sem1 == sem2 && val1 == val2){
output = true;
} else {
output = false;
}
return output;
}
}