回答編集履歴

2

リストのマークダウンを修正。

2017/03/29 00:07

投稿

i50
i50

スコア227

test CHANGED
@@ -16,15 +16,15 @@
16
16
 
17
17
  **まず、ジャンケンをざっくりと考えてみます。**
18
18
 
19
- ジャンケンはゲームです。
19
+ - ジャンケンはゲームです。
20
-
20
+
21
- そのゲームには参加者が複数います。
21
+ - そのゲームには参加者が複数います。
22
-
22
+
23
- 参加者はジャンケンの手を1つ同時に出します。
23
+ - 参加者はジャンケンの手を1つ同時に出します。
24
-
24
+
25
- 出した手の強さを競います。
25
+ - 出した手の強さを競います。
26
-
26
+
27
- 手の強さはグー>チョキ>パー>グー。
27
+ - 手の強さはグー>チョキ>パー>グー。
28
28
 
29
29
 
30
30
 
@@ -34,89 +34,89 @@
34
34
 
35
35
  【抽象的な情報】
36
36
 
37
- ゲームには参加者が複数必要です。
37
+ - ゲームには参加者が複数必要です。
38
-
38
+
39
- ゲームにはルールが必要です。
39
+ - ゲームにはルールが必要です。
40
-
40
+
41
- ゲームは開始されます。
41
+ - ゲームは開始されます。
42
-
42
+
43
- 参加者は手を出せます。
43
+ - 参加者は手を出せます。
44
-
44
+
45
- 出せる手はルールによって決められます。
45
+ - 出せる手はルールによって決められます。
46
-
46
+
47
- 出した手はルールによって結果が判定されます。
47
+ - 出した手はルールによって結果が判定されます。
48
-
48
+
49
- 結果は参加者に知らされます。
49
+ - 結果は参加者に知らされます。
50
50
 
51
51
 
52
52
 
53
53
  【具体的な情報】
54
54
 
55
- ジャンケンのルール。
55
+ - ジャンケンのルール。
56
-
56
+
57
- _・出せる手はグーチョキパーです。
57
+ 出せる手はグーチョキパーです。
58
-
58
+
59
- _・手の強さはグー>チョキ>パー>グーです。
59
+ 手の強さはグー>チョキ>パー>グーです。
60
-
60
+
61
- _・強い手を出した参加者は勝ちという結果になります。
61
+ 強い手を出した参加者は勝ちという結果になります。
62
-
62
+
63
- _・勝ちが決められないときは引き分けという結果になります。
63
+ 勝ちが決められないときは引き分けという結果になります。
64
-
64
+
65
- (ジャンケンという)ゲームの流れ。
65
+ - (ジャンケンという)ゲームの流れ。
66
-
66
+
67
- _・参加者は同時に手を出します。
67
+ 参加者は同時に手を出します。
68
-
68
+
69
- _・出された手はルールによって勝敗が決められます。
69
+ 出された手はルールによって勝敗が決められます。
70
-
70
+
71
- _・参加者は勝敗を知ります。
71
+ 参加者は勝敗を知ります。
72
-
72
+
73
- _・必要なら勝敗が決まるまで繰り返します。
73
+ 必要なら勝敗が決まるまで繰り返します。
74
-
74
+
75
- (ジャンケンする)参加者。
75
+ - (ジャンケンする)参加者。
76
-
76
+
77
- _・参加者は人間だったりコンピュータだったりします。
77
+ 参加者は人間だったりコンピュータだったりします。
78
78
 
79
79
 
80
80
 
81
81
  **ここで、抽象的な情報をインターフェースにします。**
82
82
 
83
- ゲーム→IGame
83
+ - ゲーム→IGame
84
-
84
+
85
- ルール→IRule
85
+ - ルール→IRule
86
-
86
+
87
- 参加者→IPlayer
87
+ - 参加者→IPlayer
88
-
88
+
89
- 手(原因)→ICause
89
+ - 手(原因)→ICause
90
-
90
+
91
- 結果→IResult
91
+ - 結果→IResult
92
92
 
93
93
 
94
94
 
95
95
  **これらの関係を、インターフェースのメソッドで示します。**
96
96
 
97
- ゲームは参加者が複数必要です。→void IGame.joinPlayers(IPlayer)
97
+ - ゲームは参加者が複数必要です。→void IGame.joinPlayers(IPlayer)
98
-
98
+
99
- ゲームにはルールが必要です。→void IGame.followRule(IRule)
99
+ - ゲームにはルールが必要です。→void IGame.followRule(IRule)
100
-
100
+
101
- ゲームは開始されます。→void IGame.start()
101
+ - ゲームは開始されます。→void IGame.start()
102
-
102
+
103
- 参加者は手を出せます。→ICause IPlayer.serveCause()
103
+ - 参加者は手を出せます。→ICause IPlayer.serveCause()
104
-
104
+
105
- 出せる手はルールによって決められます。→void IRule.valid(ICause)
105
+ - 出せる手はルールによって決められます。→void IRule.valid(ICause)
106
-
106
+
107
- 出した手はルールによって結果が判定されます。→IResult IRule.match(ICause, ICause)
107
+ - 出した手はルールによって結果が判定されます。→IResult IRule.match(ICause, ICause)
108
-
108
+
109
- 結果は参加者に知らされます。→void IPlayer.result(IResult)
109
+ - 結果は参加者に知らされます。→void IPlayer.result(IResult)
110
110
 
111
111
 
112
112
 
113
113
  **具体的な情報は、これらインターフェースを実装したクラスになります。**
114
114
 
115
- ジャンケンのルール。→JankenRule
115
+ - ジャンケンのルール。→JankenRule
116
-
116
+
117
- (ジャンケンという)ゲームの流れ。→OnceGame、DrawLoopGame
117
+ - (ジャンケンという)ゲームの流れ。→OnceGame、DrawLoopGame
118
-
118
+
119
- (ジャンケンする)参加者。→CauseStrategiedPlayer
119
+ - (ジャンケンする)参加者。→CauseStrategiedPlayer
120
120
 
121
121
  ここでは参加者から、人間やコンピュータという具体性を、戦略として抽象化し分離しています。
122
122
 

1

全角スペースでのインデントが反映されていないので、アンダースコアにした。

2017/03/29 00:07

投稿

i50
i50

スコア227

test CHANGED
@@ -54,27 +54,27 @@
54
54
 
55
55
  ・ジャンケンのルール。
56
56
 
57
- ・出せる手はグーチョキパーです。
57
+ _・出せる手はグーチョキパーです。
58
-
58
+
59
- ・手の強さはグー>チョキ>パー>グーです。
59
+ _・手の強さはグー>チョキ>パー>グーです。
60
-
60
+
61
- ・強い手を出した参加者は勝ちという結果になります。
61
+ _・強い手を出した参加者は勝ちという結果になります。
62
-
62
+
63
- ・勝ちが決められないときは引き分けという結果になります。
63
+ _・勝ちが決められないときは引き分けという結果になります。
64
64
 
65
65
  ・(ジャンケンという)ゲームの流れ。
66
66
 
67
- ・参加者は同時に手を出します。
67
+ _・参加者は同時に手を出します。
68
-
68
+
69
- ・出された手はルールによって勝敗が決められます。
69
+ _・出された手はルールによって勝敗が決められます。
70
-
70
+
71
- ・参加者は勝敗を知ります。
71
+ _・参加者は勝敗を知ります。
72
-
72
+
73
- ・必要なら勝敗が決まるまで繰り返します。
73
+ _・必要なら勝敗が決まるまで繰り返します。
74
74
 
75
75
  ・(ジャンケンする)参加者。
76
76
 
77
- ・参加者は人間だったりコンピュータだったりします。
77
+ _・参加者は人間だったりコンピュータだったりします。
78
78
 
79
79
 
80
80