Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
WinLoss |
|
| 2.6;2.6 |
1 | /****************************************************************************** | |
2 | * WinLoss - Describe the Win Loss record against one player. | |
3 | * $Id$ | |
4 | * | |
5 | * BuckoFIBS - Backgammon by BuckoSoft | |
6 | * Copyright 2010 - Dick Balaska - BuckoSoft, Corp. | |
7 | * | |
8 | * $Log$ | |
9 | * Revision 1.2 2010/12/30 17:38:19 dick | |
10 | * Correct the cvs link. | |
11 | * | |
12 | * Revision 1.1 2010/12/24 02:58:03 dick | |
13 | * Describe the Win Loss record against one player. | |
14 | * | |
15 | */ | |
16 | ||
17 | /* | |
18 | * This program is free software: you can redistribute it and/or modify | |
19 | * it under the terms of the GNU General Public License as published by | |
20 | * the Free Software Foundation, either version 3 of the License, or | |
21 | * (at your option) any later version. | |
22 | * | |
23 | * This program is distributed in the hope that it will be useful, | |
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
26 | * GNU General Public License for more details. | |
27 | * | |
28 | * You should have received a copy of the GNU General Public License | |
29 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
30 | * | |
31 | * The Original Code is BuckoFIBS, <http://www.buckosoft.com/BuckoFIBS/>. | |
32 | * The Initial Developer of the Original Code is Dick Balaska and BuckoSoft, Corp. | |
33 | * | |
34 | */ | |
35 | package com.buckosoft.fibs.domain; | |
36 | ||
37 | ||
38 | /** A class to manage wins/losses for a Player. | |
39 | * We need to be able to deal with them as numbers and present them as a string. | |
40 | * @author dick | |
41 | * @since 2010/12/23 | |
42 | * @version $Revision$ <br> $Date$ | |
43 | * @see <a href="http://cvs.buckosoft.com/Projects/BuckoFIBS/BuckoFIBS/src/main/java/com/buckosoft/fibs/domain/WinLoss.java">cvs WinLoss.java</a> | |
44 | * | |
45 | */ | |
46 | 0 | public class WinLoss implements Comparable<WinLoss> { |
47 | private int wins; | |
48 | private int losses; | |
49 | ||
50 | /** Convienence constructor that takes the wins and losses | |
51 | * @param wins The number of times you have beaten this opponent. | |
52 | * @param losses The number of times you have lost to this opponent. | |
53 | */ | |
54 | 7 | public WinLoss(int wins, int losses) { |
55 | 7 | this.wins = wins; |
56 | 7 | this.losses = losses; |
57 | 7 | } |
58 | ||
59 | 1 | public WinLoss() { |
60 | 1 | } |
61 | ||
62 | /** Get the numeric value of this WinLoss | |
63 | * @return wins/losses, more or less | |
64 | */ | |
65 | public double getValue() { | |
66 | 23 | if (losses == 0) |
67 | 13 | return(wins*10); |
68 | 10 | if (wins == 0) |
69 | 4 | return(-losses); |
70 | 6 | return((double)wins/(double)losses); |
71 | } | |
72 | ||
73 | /** Get the String value of this WinLoss | |
74 | * @return "W-L" | |
75 | */ | |
76 | public String toString() { | |
77 | 6 | return("" + wins + "-" + losses); |
78 | } | |
79 | ||
80 | /** Compare the value of this WinLoss with that one. | |
81 | * @param o The other player to compare | |
82 | */ | |
83 | @Override | |
84 | public int compareTo(WinLoss o) { | |
85 | 6 | if (this.getValue() < o.getValue()) |
86 | 3 | return(-1); |
87 | 3 | if (this.getValue() > o.getValue()) |
88 | 2 | return(1); |
89 | 1 | return(0); |
90 | } | |
91 | } | |
92 |