Obliczenia brydżowe (Android)
Jacek Kowalski
2015-01-18 ae5f073996625779d191002c94d6e2e608afe35a
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
package net.jacekk.bridge;
 
public class BridgeInput {
    public enum Suit {
        MINOR(0), MAJOR(1), NOTRUMP(2);
 
        public final int tableIndex;
 
        Suit(int tableIndex) {
            this.tableIndex = tableIndex;
        }
    }
 
    public enum Contract {
        NORMAL(1, 0), DOUBLED(2, 1), REDOUBLED(4, 2);
 
        public final int multiplier;
        public final int tableIndex;
 
        Contract(int multiplier, int tableIndex) {
            this.multiplier = multiplier;
            this.tableIndex = tableIndex;
        }
    }
 
    public int bid;
    public Suit suit;
    public Contract contract;
    public boolean weVulnerable;
    public boolean theyVulnerable;
    public int PC;
    public int tricks;
 
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append(bid).append(' ').append(suit.name()).append(' ');
        builder.append(contract.name()).append(' ');
 
        if (weVulnerable)
            builder.append('V');
        else
            builder.append('N');
        if (theyVulnerable)
            builder.append('V');
        else
            builder.append('N');
        builder.append(' ');
        builder.append(PC).append("PC, tricks: ").append(tricks);
        return builder.toString();
    }
}