014-007-002

finalメソッド:ゲームルール

初級

問題説明

finalメソッド:ゲームルール

この問題では: GameBaseクラスfinal修飾子を付けたメソッドを定義し、それを継承するChessGameクラスを実装して、ゲームルールと設定情報を標準出力に表示するプログラムを作成します。

学習目標: finalキーワードでオーバーライド不可なメソッドを定義する

ゲームベースを表すGameBaseクラスと、それを継承するChessGameクラスを作ります。finalメソッドは子クラスで変更できない共通ルールを保証します。

入力

4行の入力:

  • 1行目: ゲーム名(例: Chess)
  • 2行目: 最大プレイヤー数(整数)
  • 3行目: ターン制限時間(秒、整数)
  • 4行目: ゲーム固有のセットアップ内容

出力

===== {ゲーム名} Game =====
[GAME RULE] Max players: {最大プレイヤー数}
[GAME RULE] Turn time limit: {ターン制限時間} seconds
{ゲーム名}-specific setup: {セットアップ内容}
=====================

具体例

例1: チェスゲーム

入力:

Chess
2
30
Setting up pieces

出力:

===== Chess Game =====
[GAME RULE] Max players: 2
[GAME RULE] Turn time limit: 30 seconds
Chess-specific setup: Setting up pieces
=====================

例2: 将棋ゲーム

入力:

Shogi
2
60
Placing pieces on board

出力:

===== Shogi Game =====
[GAME RULE] Max players: 2
[GAME RULE] Turn time limit: 60 seconds
Shogi-specific setup: Placing pieces on board
=====================

finalメソッドの特徴

  • showMaxPlayers()はfinalなので子クラスでオーバーライド不可
  • showTurnTimeLimit()もfinalなので変更不可
  • setupGame()は通常メソッドなのでオーバーライド可能

テストケース例

※ 出力例はプログラミングの国際標準に準拠し英語で表示しています

正常系
入力:
Othello
2
45
Placing discs on board
期待される出力:
===== Othello Game =====
[GAME RULE] Max players: 2
[GAME RULE] Turn time limit: 45 seconds
Othello-specific setup: Placing discs on board
=====================
正常系
入力:
Poker
4
90
Dealing cards to players
期待される出力:
===== Poker Game =====
[GAME RULE] Max players: 4
[GAME RULE] Turn time limit: 90 seconds
Poker-specific setup: Dealing cards to players
=====================

あなたの解答

現在のモード: 自分のコード
GameBase.java🔒
ChessGame.java🔒
Solution.java🔒
3/6 ファイル534B
public class GameBase {
}
0 B / 5 MB

残り 10 回実行可能