ReversiForm  1.0.0
ReversiForm
SettingForm.cs
Go to the documentation of this file.
1 
18 using System;
19 using System.Collections.Generic;
20 using System.ComponentModel;
21 using System.Data;
22 using System.Drawing;
23 using System.Linq;
24 using System.Text;
25 using System.Threading.Tasks;
26 using System.Windows.Forms;
27 
28 namespace ReversiForm
29 {
35  public partial class SettingForm : Form
36  {
37  #region メンバ変数
39  #endregion
40 
41  #region プロパティ
42  public ReversiSetting mSetting
43  {
44  get { return _mSetting; }
45  set { _mSetting = value; }
46  }
47  #endregion
48 
57  public SettingForm(ReversiSetting mSetting)
58  {
60  this.mSetting = mSetting;
61  this.reflectSettingForm();
62  }
63 
72  private void reflectSettingForm()
73  {
74  // *** 現在のモード *** //
75  if(mSetting.mMode == ReversiConst.DEF_MODE_ONE)
76  {
77  radioButtonMode1.Checked = true;
78  radioButtonMode2.Checked = false;
79  }
80  else
81  {
82  radioButtonMode1.Checked = false;
83  radioButtonMode2.Checked = true;
84  }
85  // *** 現在のタイプ *** //
86  if(mSetting.mType == ReversiConst.DEF_TYPE_EASY)
87  {
88  radioButtonType1.Checked = true;
89  radioButtonType2.Checked = false;
90  radioButtonType3.Checked = false;
91  }
92  else if(mSetting.mType == ReversiConst.DEF_TYPE_NOR)
93  {
94  radioButtonType1.Checked = false;
95  radioButtonType2.Checked = true;
96  radioButtonType3.Checked = false;
97  }
98  else
99  {
100  radioButtonType1.Checked = false;
101  radioButtonType2.Checked = false;
102  radioButtonType3.Checked = true;
103  }
104  // *** プレイヤーの色 *** //
105  if(mSetting.mPlayer == ReversiConst.REVERSI_STS_BLACK)
106  {
107  radioButtonPlayer1.Checked = true;
108  radioButtonPlayer2.Checked = false;
109  }
110  else
111  {
112  radioButtonPlayer1.Checked = false;
113  radioButtonPlayer2.Checked = true;
114  }
115  // *** アシスト *** //
116  if(mSetting.mAssist == ReversiConst.DEF_ASSIST_OFF)
117  {
118  radioButtonAssist1.Checked = true;
119  radioButtonAssist2.Checked = false;
120  }
121  else
122  {
123  radioButtonAssist1.Checked = false;
124  radioButtonAssist2.Checked = true;
125  }
126  // *** ゲームスピード *** //
127  if(mSetting.mGameSpd == ReversiConst.DEF_GAME_SPD_FAST)
128  {
129  radioButtonGameSpd1.Checked = true;
130  radioButtonGameSpd2.Checked = false;
131  radioButtonGameSpd3.Checked = false;
132  }
133  else if(mSetting.mGameSpd == ReversiConst.DEF_GAME_SPD_MID)
134  {
135  radioButtonGameSpd1.Checked = false;
136  radioButtonGameSpd2.Checked = true;
137  radioButtonGameSpd3.Checked = false;
138  }
139  else
140  {
141  radioButtonGameSpd1.Checked = false;
142  radioButtonGameSpd2.Checked = false;
143  radioButtonGameSpd3.Checked = true;
144  }
145  // *** ゲーム終了アニメーション *** //
146  if(mSetting.mEndAnim == ReversiConst.DEF_END_ANIM_OFF)
147  {
148  radioButtonEndAnim1.Checked = true;
149  radioButtonEndAnim2.Checked = false;
150  }
151  else
152  {
153  radioButtonEndAnim1.Checked = false;
154  radioButtonEndAnim2.Checked = true;
155  }
156  // *** マスの数 *** //
157  if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_6)
158  {
159  radioButtonMasuCntMenu1.Checked = true;
160  radioButtonMasuCntMenu2.Checked = false;
161  radioButtonMasuCntMenu3.Checked = false;
162  radioButtonMasuCntMenu4.Checked = false;
163  radioButtonMasuCntMenu5.Checked = false;
164  radioButtonMasuCntMenu6.Checked = false;
165  radioButtonMasuCntMenu7.Checked = false;
166  radioButtonMasuCntMenu8.Checked = false;
167  }
168  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_8)
169  {
170  radioButtonMasuCntMenu1.Checked = false;
171  radioButtonMasuCntMenu2.Checked = true;
172  radioButtonMasuCntMenu3.Checked = false;
173  radioButtonMasuCntMenu4.Checked = false;
174  radioButtonMasuCntMenu5.Checked = false;
175  radioButtonMasuCntMenu6.Checked = false;
176  radioButtonMasuCntMenu7.Checked = false;
177  radioButtonMasuCntMenu8.Checked = false;
178  }
179  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_10)
180  {
181  radioButtonMasuCntMenu1.Checked = false;
182  radioButtonMasuCntMenu2.Checked = false;
183  radioButtonMasuCntMenu3.Checked = true;
184  radioButtonMasuCntMenu4.Checked = false;
185  radioButtonMasuCntMenu5.Checked = false;
186  radioButtonMasuCntMenu6.Checked = false;
187  radioButtonMasuCntMenu7.Checked = false;
188  radioButtonMasuCntMenu8.Checked = false;
189  }
190  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_12)
191  {
192  radioButtonMasuCntMenu1.Checked = false;
193  radioButtonMasuCntMenu2.Checked = false;
194  radioButtonMasuCntMenu3.Checked = false;
195  radioButtonMasuCntMenu4.Checked = true;
196  radioButtonMasuCntMenu5.Checked = false;
197  radioButtonMasuCntMenu6.Checked = false;
198  radioButtonMasuCntMenu7.Checked = false;
199  radioButtonMasuCntMenu8.Checked = false;
200  }
201  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_14)
202  {
203  radioButtonMasuCntMenu1.Checked = false;
204  radioButtonMasuCntMenu2.Checked = false;
205  radioButtonMasuCntMenu3.Checked = false;
206  radioButtonMasuCntMenu4.Checked = false;
207  radioButtonMasuCntMenu5.Checked = true;
208  radioButtonMasuCntMenu6.Checked = false;
209  radioButtonMasuCntMenu7.Checked = false;
210  radioButtonMasuCntMenu8.Checked = false;
211  }
212  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_16)
213  {
214  radioButtonMasuCntMenu1.Checked = false;
215  radioButtonMasuCntMenu2.Checked = false;
216  radioButtonMasuCntMenu3.Checked = false;
217  radioButtonMasuCntMenu4.Checked = false;
218  radioButtonMasuCntMenu5.Checked = false;
219  radioButtonMasuCntMenu6.Checked = true;
220  radioButtonMasuCntMenu7.Checked = false;
221  radioButtonMasuCntMenu8.Checked = false;
222  }
223  else if(mSetting.mMasuCntMenu == ReversiConst.DEF_MASU_CNT_18)
224  {
225  radioButtonMasuCntMenu1.Checked = false;
226  radioButtonMasuCntMenu2.Checked = false;
227  radioButtonMasuCntMenu3.Checked = false;
228  radioButtonMasuCntMenu4.Checked = false;
229  radioButtonMasuCntMenu5.Checked = false;
230  radioButtonMasuCntMenu6.Checked = false;
231  radioButtonMasuCntMenu7.Checked = true;
232  radioButtonMasuCntMenu8.Checked = false;
233  }
234  else
235  {
236  radioButtonMasuCntMenu1.Checked = false;
237  radioButtonMasuCntMenu2.Checked = false;
238  radioButtonMasuCntMenu3.Checked = false;
239  radioButtonMasuCntMenu4.Checked = false;
240  radioButtonMasuCntMenu5.Checked = false;
241  radioButtonMasuCntMenu6.Checked = false;
242  radioButtonMasuCntMenu7.Checked = false;
243  radioButtonMasuCntMenu8.Checked = true;
244  }
245  pictureBoxPlayerColor1.BackColor = mSetting.mPlayerColor1;
246  pictureBoxPlayerColor2.BackColor = mSetting.mPlayerColor2;
247  pictureBoxBackGroundColor.BackColor = mSetting.mBackGroundColor;
248  pictureBoxBorderColor.BackColor = mSetting.mBorderColor;
249  }
250 
259  private void loadSettingForm()
260  {
261  // *** 現在のモード *** //
262  if(radioButtonMode1.Checked == true) mSetting.mMode = ReversiConst.DEF_MODE_ONE;
263  else mSetting.mMode = ReversiConst.DEF_MODE_TWO;
264  // *** 現在のタイプ *** //
265  if(radioButtonType1.Checked == true) mSetting.mType = ReversiConst.DEF_TYPE_EASY;
266  else if(radioButtonType2.Checked == true) mSetting.mType = ReversiConst.DEF_TYPE_NOR;
267  else mSetting.mType = ReversiConst.DEF_TYPE_HARD;
268  // *** プレイヤーの色 *** //
269  if(radioButtonPlayer1.Checked == true) mSetting.mPlayer = ReversiConst.REVERSI_STS_BLACK;
270  else mSetting.mPlayer = ReversiConst.REVERSI_STS_WHITE;
271  // *** アシスト *** //
272  if(radioButtonAssist1.Checked == true) mSetting.mAssist = ReversiConst.DEF_ASSIST_OFF;
273  else mSetting.mAssist = ReversiConst.DEF_ASSIST_ON;
274  // *** ゲームスピード *** //
275  if(radioButtonGameSpd1.Checked == true) mSetting.mGameSpd = ReversiConst.DEF_GAME_SPD_FAST;
276  else if(radioButtonGameSpd2.Checked == true) mSetting.mGameSpd = ReversiConst.DEF_GAME_SPD_MID;
277  else mSetting.mGameSpd = ReversiConst.DEF_GAME_SPD_SLOW;
278  // *** ゲーム終了アニメーション *** //
279  if(radioButtonEndAnim1.Checked == true) mSetting.mEndAnim = ReversiConst.DEF_END_ANIM_OFF;
280  else mSetting.mEndAnim = ReversiConst.DEF_END_ANIM_ON;
281  // *** マスの数 *** //
282  if(radioButtonMasuCntMenu1.Checked == true)
283  {
284  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_6;
285  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_6_VAL;
286  }
287  else if(radioButtonMasuCntMenu2.Checked == true)
288  {
289  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_8;
290  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_8_VAL;
291  }
292  else if(radioButtonMasuCntMenu3.Checked == true)
293  {
294  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_10;
295  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_10_VAL;
296  }
297  else if(radioButtonMasuCntMenu4.Checked == true)
298  {
299  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_12;
300  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_12_VAL;
301  }
302  else if(radioButtonMasuCntMenu5.Checked == true)
303  {
304  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_14;
305  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_14_VAL;
306  }
307  else if(radioButtonMasuCntMenu6.Checked == true)
308  {
309  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_16;
310  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_16_VAL;
311  }
312  else if(radioButtonMasuCntMenu7.Checked == true)
313  {
314  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_18;
315  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_18_VAL;
316  }
317  else
318  {
319  mSetting.mMasuCntMenu = ReversiConst.DEF_MASU_CNT_20;
320  mSetting.mMasuCnt = ReversiConst.DEF_MASU_CNT_20_VAL;
321  }
322  mSetting.mPlayerColor1 = pictureBoxPlayerColor1.BackColor;
323  mSetting.mPlayerColor2 = pictureBoxPlayerColor2.BackColor;
324  mSetting.mBackGroundColor = pictureBoxBackGroundColor.BackColor;
325  mSetting.mBorderColor = pictureBoxBorderColor.BackColor;
326  }
327 
338  private void pictureBoxPlayerColor1_Click(object sender, EventArgs e)
339  {
340  // ColorDialogクラスのインスタンスを作成
341  ColorDialog cd = new ColorDialog();
342  // はじめに選択されている色を設定
343  cd.Color = pictureBoxPlayerColor1.BackColor;
344  // ダイアログを表示する
345  if (cd.ShowDialog() == DialogResult.OK)
346  {
347  // 選択された色の取得
348  pictureBoxPlayerColor1.BackColor = cd.Color;
349  }
350  }
351 
362  private void pictureBoxPlayerColor2_Click(object sender, EventArgs e)
363  {
364  // ColorDialogクラスのインスタンスを作成
365  ColorDialog cd = new ColorDialog();
366  // はじめに選択されている色を設定
367  cd.Color = pictureBoxPlayerColor2.BackColor;
368  // ダイアログを表示する
369  if (cd.ShowDialog() == DialogResult.OK)
370  {
371  // 選択された色の取得
372  pictureBoxPlayerColor2.BackColor = cd.Color;
373  }
374  }
375 
386  private void pictureBoxBackGroundColor_Click(object sender, EventArgs e)
387  {
388  // ColorDialogクラスのインスタンスを作成
389  ColorDialog cd = new ColorDialog();
390  // はじめに選択されている色を設定
391  cd.Color = pictureBoxBackGroundColor.BackColor;
392  // ダイアログを表示する
393  if (cd.ShowDialog() == DialogResult.OK)
394  {
395  // 選択された色の取得
396  pictureBoxBackGroundColor.BackColor = cd.Color;
397  }
398  }
399 
410  private void pictureBoxBorderColor_Click(object sender, EventArgs e)
411  {
412  // ColorDialogクラスのインスタンスを作成
413  ColorDialog cd = new ColorDialog();
414  // はじめに選択されている色を設定
415  cd.Color = pictureBoxBorderColor.BackColor;
416  // ダイアログを表示する
417  if (cd.ShowDialog() == DialogResult.OK)
418  {
419  // 選択された色の取得
420  pictureBoxBorderColor.BackColor = cd.Color;
421  }
422  }
423 
434  private void buttonDefault_Click(object sender, EventArgs e)
435  {
436  mSetting.reset();
437  this.reflectSettingForm();
438  }
439 
450  private void buttonSave_Click(object sender, EventArgs e)
451  {
452  this.loadSettingForm();
453  this.Close();
454  }
455 
466  private void buttonCancel_Click(object sender, EventArgs e)
467  {
468  this.Close();
469  }
470  }
471 }
const int DEF_TYPE_EASY
CPU 弱い
Definition: ReversiConst.cs:36
const int DEF_TYPE_NOR
CPU 普通
Definition: ReversiConst.cs:37
const int REVERSI_STS_WHITE
Definition: ReversiConst.cs:82
アプリ設定クラス
Definition: ReversiConst.cs:30
const int DEF_MASU_CNT_12_VAL
マス縦横12
Definition: ReversiConst.cs:73
const int DEF_GAME_SPD_SLOW
ゲームスピード 遅い
Definition: ReversiConst.cs:48
const int REVERSI_STS_BLACK
Definition: ReversiConst.cs:81
const int DEF_MASU_CNT_14
マス縦横14
Definition: ReversiConst.cs:65
const int DEF_MASU_CNT_18_VAL
マス縦横18
Definition: ReversiConst.cs:76
const int DEF_MASU_CNT_10
マス縦横10
Definition: ReversiConst.cs:63
void pictureBoxPlayerColor1_Click(object sender, EventArgs e)
プレイヤー1の色クリック
Definition: SettingForm.cs:338
const int DEF_GAME_SPD_FAST
ゲームスピード 早い
Definition: ReversiConst.cs:46
const int DEF_GAME_SPD_MID
ゲームスピード 普通
Definition: ReversiConst.cs:47
const int DEF_MASU_CNT_8
マス縦横8
Definition: ReversiConst.cs:62
const int DEF_MASU_CNT_18
マス縦横18
Definition: ReversiConst.cs:67
void buttonSave_Click(object sender, EventArgs e)
保存ボタンクリック
Definition: SettingForm.cs:450
const int DEF_TYPE_HARD
CPU 強い
Definition: ReversiConst.cs:38
const int DEF_MASU_CNT_12
マス縦横12
Definition: ReversiConst.cs:64
ReversiSetting _mSetting
リバーシ設定クラス
Definition: SettingForm.cs:38
const int DEF_MASU_CNT_16_VAL
マス縦横16
Definition: ReversiConst.cs:75
const int DEF_MODE_ONE
一人対戦
Definition: ReversiConst.cs:33
const int DEF_END_ANIM_OFF
終了アニメーション OFF
Definition: ReversiConst.cs:58
void buttonCancel_Click(object sender, EventArgs e)
プレイヤー2の色クリック
Definition: SettingForm.cs:466
void reset()
リセット
const int DEF_MASU_CNT_14_VAL
マス縦横14
Definition: ReversiConst.cs:74
const int DEF_MASU_CNT_6
マス縦横6
Definition: ReversiConst.cs:61
const int DEF_END_ANIM_ON
終了アニメーション ON
Definition: ReversiConst.cs:59
const int DEF_ASSIST_ON
アシスト ON
Definition: ReversiConst.cs:44
const int DEF_MODE_TWO
二人対戦
Definition: ReversiConst.cs:34
const int DEF_MASU_CNT_16
マス縦横16
Definition: ReversiConst.cs:66
void InitializeComponent()
Required method for Designer support - do not modify the contents of this method with the code editor...
const int DEF_MASU_CNT_6_VAL
マス縦横6
Definition: ReversiConst.cs:70
const int DEF_MASU_CNT_8_VAL
マス縦横8
Definition: ReversiConst.cs:71
アプリ設定クラス
const int DEF_MASU_CNT_20_VAL
マス縦横20
Definition: ReversiConst.cs:77
void reflectSettingForm()
フォームに設定を反映
Definition: SettingForm.cs:72
SettingFormクラス
Definition: SettingForm.cs:35
const int DEF_MASU_CNT_10_VAL
マス縦横10
Definition: ReversiConst.cs:72
const int DEF_ASSIST_OFF
アシスト OFF
Definition: ReversiConst.cs:43
SettingForm(ReversiSetting mSetting)
コンストラクタ
Definition: SettingForm.cs:57
const int DEF_MASU_CNT_20
マス縦横20
Definition: ReversiConst.cs:68