回答編集履歴
2
文言の修正
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
※ブラックジャックの場合、ディーラーもプレイヤーもそれぞれが持つ情報の優劣がないようですから、ディーラー、プレイヤーの親クラスを持たせても良いでしょう。ただ、例えば”カードを引く”操作はディーラー側はプログラムが、プレイヤー側はプレイヤー自身が決定する(ヒット、スタンド等)ので、実装の仕方が変わります。そんな場合、親クラスは”カードを引く”メソッドを抽象メソッドとして定義することになります。
|
41
|
+
※ブラックジャックの場合、ディーラーもプレイヤーもそれぞれが持つ情報の優劣がないようですから、とても似ています。であれば、ディーラー、プレイヤーの親クラス(Human)を持たせても良いでしょう。ただ、例えば”カードを引く”操作はディーラー側はプログラムが、プレイヤー側はプレイヤー自身が決定する(ヒット、スタンド等)ので、実装の仕方が変わります。そんな場合、親クラスは”カードを引く”メソッドを抽象メソッドとして定義することになります。
|
42
42
|
|
43
43
|
|
44
44
|
|
1
質問のプログラムに継承を使いたい旨があるので、継承に触れる。
test
CHANGED
@@ -38,6 +38,10 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
+
※ブラックジャックの場合、ディーラーもプレイヤーもそれぞれが持つ情報の優劣がないようですから、ディーラー、プレイヤーの親クラスを持たせても良いでしょう。ただ、例えば”カードを引く”操作はディーラー側はプログラムが、プレイヤー側はプレイヤー自身が決定する(ヒット、スタンド等)ので、実装の仕方が変わります。そんな場合、親クラスは”カードを引く”メソッドを抽象メソッドとして定義することになります。
|
42
|
+
|
43
|
+
|
44
|
+
|
41
45
|
・Table
|
42
46
|
|
43
47
|
ディーラーとプレイヤー両者のカード合計値を比べ、どちらが21に近いか等の勝敗判定を行います。テーブルクラスとしていますが、要は判定するクラスです。ゲームをコントロールする機能を持たせます。またディーラー、プレイヤーにカードを配ったり、両者から手持ちカードの合計値を取得して判定する必要がありますので、属性として Dealer, Player が必要になるでしょう。
|