View Javadoc

1   /*
2    * 
3    *   Magic-Project is a turn based strategy simulator
4    *   Copyright (C) 2003-2007 Fabrice Daugan
5    *
6    *   This program is free software; you can redistribute it and/or modify it 
7    * under the terms of the GNU General Public License as published by the Free 
8    * Software Foundation; either version 2 of the License, or (at your option) any
9    * later version.
10   *
11   *   This program is distributed in the hope that it will be useful, but WITHOUT 
12   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13   * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more 
14   * details.
15   *
16   *   You should have received a copy of the GNU General Public License along  
17   * with this program; if not, write to the Free Software Foundation, Inc., 
18   * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   * 
20   */
21  package net.sf.magicproject.token;
22  
23  /***
24   * The available zone identifiants, and also special codes attached to the state
25   * in the zone.
26   * 
27   * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
28   */
29  public interface IdZones {
30  
31  	/***
32  	 * The play zone
33  	 */
34  	int PLAY = 0x00;
35  
36  	/***
37  	 * The hand zone
38  	 */
39  	int HAND = 0x01;
40  
41  	/***
42  	 * The first available additional zone.
43  	 */
44  	int FIRST_ADDITIONAL_ZONE = 0x02;
45  
46  	/***
47  	 * The last available additional zone.
48  	 */
49  	int LAST_ADDITIONAL_ZONE = 0x08;
50  
51  	/***
52  	 * The side zone
53  	 */
54  	int SIDE = 0x09;
55  
56  	/***
57  	 * The stack zone
58  	 */
59  	int STACK = 0x0A;
60  
61  	/***
62  	 * The delayed buffer zone
63  	 */
64  	int DELAYED = 0x0B;
65  
66  	/***
67  	 * The triggered buffer zone
68  	 */
69  	int TRIGGERED = 0x0C;
70  
71  	/***
72  	 * Nb zones
73  	 */
74  	int NB_ZONE = TRIGGERED+1;
75  
76  	/***
77  	 * Completly destructed
78  	 */
79  	int NOWHERE = 0x0D;
80  
81  	/***
82  	 * The zone is determined during the runtime depending on the value on the
83  	 * context. Cannot be used outside an action in a replacement or triggered
84  	 * ability.
85  	 */
86  	int CONTEXT = 0x0E;
87  
88  	/***
89  	 * No care zone
90  	 */
91  	int ANYWHERE = 0x0F;
92  
93  	/***
94  	 * The must be tapped in play constraint
95  	 */
96  	int PLAY_TAPPED = 0x10;
97  
98  	/***
99  	 * The must be untapped in play constraint
100 	 */
101 	int PLAY_UNTAPPED = 0x20;
102 
103 	/***
104 	 * The zones name associated to zone names
105 	 */
106 	String[] ZONE_NAMES = { "play", "hand", "side", "stack", "delayed buffer",
107 			"triggered buffer", "nowhere", "playANDtapped", "playANDuntapped",
108 			"anywhere", "context" };
109 
110 	/***
111 	 * The zones name associated to zone values (index)
112 	 */
113 	int[] ZONE_VALUES = { PLAY, HAND, SIDE, STACK, DELAYED, TRIGGERED, NOWHERE,
114 			PLAY_TAPPED, PLAY_UNTAPPED, ANYWHERE, CONTEXT };
115 
116 }