回答編集履歴

2

文言の修正

2020/02/16 12:38

投稿

Mirko_Mug_Cup
Mirko_Mug_Cup

スコア56

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- ※ブラックジャックの場合、ディーラーもプレイヤーもそれぞれが持つ情報の優劣がないようですから、ディーラー、プレイヤーの親クラスを持たせても良いでしょう。ただ、例えば”カードを引く”操作はディーラー側はプログラムが、プレイヤー側はプレイヤー自身が決定する(ヒット、スタンド等)ので、実装の仕方が変わります。そんな場合、親クラスは”カードを引く”メソッドを抽象メソッドとして定義することになります。
41
+ ※ブラックジャックの場合、ディーラーもプレイヤーもそれぞれが持つ情報の優劣がないようですから、とても似ています。であれば、ディーラー、プレイヤーの親クラス(Human)を持たせても良いでしょう。ただ、例えば”カードを引く”操作はディーラー側はプログラムが、プレイヤー側はプレイヤー自身が決定する(ヒット、スタンド等)ので、実装の仕方が変わります。そんな場合、親クラスは”カードを引く”メソッドを抽象メソッドとして定義することになります。
42
42
 
43
43
 
44
44
 

1

質問のプログラムに継承を使いたい旨があるので、継承に触れる。

2020/02/16 12:38

投稿

Mirko_Mug_Cup
Mirko_Mug_Cup

スコア56

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 が必要になるでしょう。