OSDN Git Service

from subversion repository
[jindolf/Jindolf.git] / src / main / java / jp / sourceforge / jindolf / Player.java
1 /*\r
2  * Player\r
3  *\r
4  * Copyright(c) 2009 olyutorskii\r
5  * $Id: Player.java 888 2009-11-04 06:23:35Z olyutorskii $\r
6  */\r
7 \r
8 package jp.sourceforge.jindolf;\r
9 \r
10 import jp.sourceforge.jindolf.corelib.Destiny;\r
11 import jp.sourceforge.jindolf.corelib.GameRole;\r
12 \r
13 /**\r
14  * プレイヤーに関する情報の集約。\r
15  */\r
16 public class Player{\r
17 \r
18     private Avatar avatar;\r
19     private GameRole role;\r
20     private Destiny destiny;\r
21     private int obitDay = -1;\r
22     private String idName;\r
23     private String urlText;\r
24     private int entryNo = -1;\r
25 \r
26     /**\r
27      * コンストラクタ。\r
28      */\r
29     public Player(){\r
30         super();\r
31         return;\r
32     }\r
33 \r
34     /**\r
35      * Avatar名を返す。\r
36      * @return Avatar名\r
37      */\r
38     @Override\r
39     public String toString(){\r
40         if(this.avatar == null) return "?";\r
41         return this.avatar.toString();\r
42     }\r
43 \r
44     /**\r
45      * Avatarを取得する。\r
46      * @return Avatar\r
47      */\r
48     public Avatar getAvatar(){\r
49         return avatar;\r
50     }\r
51 \r
52     /**\r
53      * Avatarをセットする。\r
54      * @param avatar Avatar\r
55      */\r
56     public void setAvatar(Avatar avatar){\r
57         this.avatar = avatar;\r
58         return;\r
59     }\r
60 \r
61     /**\r
62      * 役割を取得する。\r
63      * @return 役割\r
64      */\r
65     public GameRole getRole(){\r
66         return role;\r
67     }\r
68 \r
69     /**\r
70      * 役割を設定する。\r
71      * @param role 役割\r
72      */\r
73     public void setRole(GameRole role){\r
74         this.role = role;\r
75         return;\r
76     }\r
77 \r
78     /**\r
79      * 運命を取得する。\r
80      * @return 運命\r
81      */\r
82     public Destiny getDestiny(){\r
83         return destiny;\r
84     }\r
85 \r
86     /**\r
87      * 運命を設定する。\r
88      * @param destiny 運命\r
89      */\r
90     public void setDestiny(Destiny destiny){\r
91         this.destiny = destiny;\r
92         return;\r
93     }\r
94 \r
95     /**\r
96      * 命日を取得する。\r
97      * @return プロローグを0とする命日。死んでなければ負。\r
98      */\r
99     public int getObitDay(){\r
100         return obitDay;\r
101     }\r
102 \r
103     /**\r
104      * 命日を設定する。\r
105      * @param obitDay プロローグを0とする命日。死んでなければ負。\r
106      */\r
107     public void setObitDay(int obitDay){\r
108         this.obitDay = obitDay;\r
109         return;\r
110     }\r
111 \r
112     /**\r
113      * プレイヤーIDを取得する。\r
114      * @return プレイヤーID\r
115      */\r
116     public String getIdName(){\r
117         return idName;\r
118     }\r
119 \r
120     /**\r
121      * プレイヤーIDを設定する。\r
122      * @param idName プレイヤーID\r
123      */\r
124     public void setIdName(String idName){\r
125         this.idName = idName;\r
126         return;\r
127     }\r
128 \r
129     /**\r
130      * URL文字列を取得する。\r
131      * 必ずしもURLを満たす文字列ではないかもしれない。\r
132      * @return URL文字列\r
133      */\r
134     public String getUrlText(){\r
135         return urlText;\r
136     }\r
137 \r
138     /**\r
139      * URL文字列を設定する。\r
140      * @param urlText URL文字列\r
141      */\r
142     public void setUrlText(String urlText){\r
143         this.urlText = urlText;\r
144         return;\r
145     }\r
146 \r
147     /**\r
148      * エントリーNo.を取得する。\r
149      * @return エントリーNo.\r
150      */\r
151     public int getEntryNo(){\r
152         return entryNo;\r
153     }\r
154 \r
155     /**\r
156      * エントリーNo.を設定する。\r
157      * @param entryNo エントリーNo.\r
158      */\r
159     public void setEntryNo(int entryNo){\r
160         this.entryNo = entryNo;\r
161         return;\r
162     }\r
163 \r
164     /**\r
165      * プレイヤーの運命を文字列化する。\r
166      * @return 文字列化した運命\r
167      */\r
168     public String getDestinyMessage(){\r
169         StringBuilder destinyMessage = new StringBuilder();\r
170 \r
171         switch(this.destiny){\r
172         case ALIVE:\r
173             assert this.obitDay < 0;\r
174             destinyMessage.append("最後まで生存");\r
175             break;\r
176         default:\r
177             assert this.obitDay >= 0;\r
178             destinyMessage.append(this.obitDay).append("日目に");\r
179             destinyMessage.append(this.destiny.getMessage());\r
180         }\r
181 \r
182         return destinyMessage.toString();\r
183     }\r
184 \r
185 }\r