Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
AnimateEventMove |
|
| 1.0;1 |
1 | /****************************************************************************** | |
2 | * AnimateEventMove.java - Manage the dice move animation. | |
3 | * $Id$ | |
4 | * | |
5 | * BuckoFIBS - Backgammon by BuckoSoft | |
6 | * Copyright© 2011 - Dick Balaska - BuckoSoft, Corp. | |
7 | * | |
8 | * $Log$ | |
9 | * Revision 1.3 2013/09/10 00:22:54 dick | |
10 | * Spline2D and Flasher move MoveSpline2D and MoveFlasher | |
11 | * | |
12 | * Revision 1.2 2011/06/02 19:13:34 dick | |
13 | * Need to define isGui(). | |
14 | * | |
15 | * Revision 1.1 2011/05/22 22:56:09 dick | |
16 | * c.b.f.B.g.boardTab.board becomes c.b.f.B.g.boardTab.boardPane . | |
17 | * | |
18 | * Revision 1.4 2011/05/17 22:50:04 dick | |
19 | * AnimateEvent moves to c.b.f.B.g.b.b which is where it is used. | |
20 | * | |
21 | * Revision 1.3 2011/05/16 21:21:29 dick | |
22 | * Add passthrues for getCheckerYOnBar() and getCheckerYInHome(). | |
23 | * | |
24 | * Revision 1.2 2011/05/16 11:42:02 dick | |
25 | * Offset moves to the base class. | |
26 | * | |
27 | * Revision 1.1 2011/05/15 02:17:54 dick | |
28 | * Move the AnimateEvents to their own package. | |
29 | * | |
30 | * Revision 1.4 2011/05/13 18:25:46 dick | |
31 | * Whitespace. | |
32 | * | |
33 | * Revision 1.3 2011/05/13 14:55:44 dick | |
34 | * Javadoc. | |
35 | * | |
36 | * Revision 1.2 2011/05/13 14:25:09 dick | |
37 | * Base class for the animation motion algorithms. | |
38 | * | |
39 | */ | |
40 | ||
41 | /* | |
42 | * This program is free software: you can redistribute it and/or modify | |
43 | * it under the terms of the GNU General Public License as published by | |
44 | * the Free Software Foundation, either version 3 of the License, or | |
45 | * (at your option) any later version. | |
46 | * | |
47 | * This program is distributed in the hope that it will be useful, | |
48 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
49 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
50 | * GNU General Public License for more details. | |
51 | * | |
52 | * You should have received a copy of the GNU General Public License | |
53 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
54 | * | |
55 | * The Original Code is BuckoFIBS, <http://www.buckosoft.com/BuckoFIBS/>. | |
56 | * The Initial Developer of the Original Code is Dick Balaska and BuckoSoft, Corp. | |
57 | * | |
58 | */ | |
59 | package com.buckosoft.fibs.BuckoFIBS.gui.boardTab.boardPane; | |
60 | ||
61 | import java.awt.Color; | |
62 | ||
63 | import com.buckosoft.fibs.BuckoFIBS.gui.boardTab.boardPane.BoardPane.BoardSpecs; | |
64 | import com.buckosoft.fibs.BuckoFIBS.gui.boardTab.boardPane.animateType.MoveFlasher; | |
65 | import com.buckosoft.fibs.BuckoFIBS.gui.boardTab.boardPane.animateType.MoveSpline2D; | |
66 | ||
67 | ||
68 | /** Run the dice move animation. | |
69 | * @author Dick Balaska | |
70 | * @since 2011/05/12 | |
71 | * @version $Revision$ <br> $Date$ | |
72 | * @see <a href="http://cvs.buckosoft.com/Projects/BuckoFIBS/BuckoFIBS/src/main/java/com/buckosoft/fibs/BuckoFIBS/gui/boardTab/boardPane/AnimateEventMove.java">cvs AnimateEventMove.java</a> | |
73 | */ | |
74 | 0 | public abstract class AnimateEventMove extends AnimateEvent { |
75 | /** Define an index that is a {@link MoveFlasher} */ | |
76 | public final static int ANIMATE_FLASHER = 0; | |
77 | /** Define an index that is a {@link MoveSpline2D} */ | |
78 | public final static int ANIMATE_SPLINE2D = 1; | |
79 | ||
80 | 0 | protected double x[] = new double[6]; |
81 | 0 | protected double y[] = new double[6]; |
82 | ||
83 | protected BoardPane boardPane; | |
84 | public BoardSpecs bs; | |
85 | ||
86 | protected int pointNumberStart; | |
87 | protected int checkerNumberStart; | |
88 | protected int pointNumberEnd; | |
89 | protected int checkerNumberEnd; | |
90 | ||
91 | abstract public void calculate(); | |
92 | abstract public int[] getXY(double offset); | |
93 | abstract public Color getColor(double offset); | |
94 | ||
95 | @Override | |
96 | public Type getType() { | |
97 | 0 | return(Type.Move); |
98 | } | |
99 | ||
100 | /** Default 1000ms for a Move | |
101 | */ | |
102 | @Override | |
103 | public int getDuration() { | |
104 | 0 | return 1000; |
105 | } | |
106 | ||
107 | ||
108 | @Override | |
109 | public boolean isGui() { | |
110 | 0 | return false; |
111 | } | |
112 | ||
113 | public void setBoardPane(BoardPane boardPane) { | |
114 | 0 | this.boardPane = boardPane; |
115 | 0 | this.bs = boardPane.bs; |
116 | 0 | } |
117 | ||
118 | public void setStartPointAndOffset(int pointNumber, int checkerNumber) { | |
119 | 0 | this.pointNumberStart = pointNumber; |
120 | 0 | this.checkerNumberStart = checkerNumber; |
121 | 0 | } |
122 | ||
123 | public void setEndPointAndOffset(int pointNumber, int checkerNumber) { | |
124 | 0 | this.pointNumberEnd = pointNumber; |
125 | 0 | this.checkerNumberEnd = checkerNumber; |
126 | 0 | } |
127 | ||
128 | protected int getPointX(int point) { | |
129 | 0 | return(boardPane.getPointX(point)); |
130 | } | |
131 | protected int getNthCheckerY(int point, int checker) { | |
132 | 0 | return(boardPane.getNthCheckerY(point, checker)); |
133 | } | |
134 | protected int getCheckerYOnBar(int who, int checker) { | |
135 | 0 | return(boardPane.getCheckerYOnBar(who, checker)); |
136 | } | |
137 | protected int getCheckerYInHome(int who, int checker) { | |
138 | 0 | return(boardPane.getCheckerYInHome(who, checker)); |
139 | } | |
140 | } |