Skip to content

haruguchi-yuma/janken

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

じゃんけんプログラム

概要

モブプロの練習のために作った課題です。オブジェクト指向プログラミングで作成することを想定しています。

じゃんけんのルール

  • 基本人数: プレイヤー1とプレイヤー2の2人
  • じゃんけんの手: グー、チョキ、パーの3種類
  • グーはチョキに勝つ
  • チョキはパーに勝つ
  • パーはグーに勝つ
  • 2人の手が同じ場合は「あいこ」となる
  • 複数回じゃんけんを行う場合は、1回じゃんけんに勝つ度に10点得点が入る(後述)

問題

(1) グー、チョキ、パーのどれかをランダムで出力させてください。

# これは一例です。
hand = Hand.new
hand.throw # => チョキ

(2) 2人でじゃんけんを1回行い、勝敗を以下のように出力してください。

  • プレイヤー1の視点で勝ち 負け あいこのいずれかを出力する
$ janken.rb
# プレイヤー1: パー プレイヤー2: グー のとき
勝ち

# プレイヤー1: パー プレイヤー2: チョキ のとき
負け

# プレイヤー1: パー プレイヤー2: パー のとき
あいこ

(3) お互いの手を表示させ、勝敗に応じてそれぞれの得点を出力してください。

  • 勝敗が決まった場合
$ ruby janken.rb
(プレイヤー1) グー (プレイヤー2) チョキ
プレイヤー1: 10点
プレイヤー2: 0点
  • 「あいこ」の場合 あいこ!と表示させる
$ ruby janken.rb
(プレイヤー1) グー (プレイヤー2) グー
あいこ!
プレイヤー1: 0点
プレイヤー2: 0点

(4) 5回連続でじゃんけんを行えるようにし、最終的な勝敗を以下のように出力してください。

  • n回目じゃんけんのときは行頭に<n回目>と表示させる
  • 5回じゃんけんが終わった後は、得点から最終的な勝敗を表示させる(引き分けの場合は引き分け!と表示する)
  • 得点の表示は1回のじゃんけんの得点ではなく累積したのもを表示する
$ ruby janken.rb
<1回目>
(プレイヤー1) グー (プレイヤー2) チョキ
プレイヤー1: 10点
プレイヤー2: 0点
<2回目>
(プレイヤー1) グー (プレイヤー2) チョキ
プレイヤー1: 20点
プレイヤー2: 0点
<3回目>
(プレイヤー1) グー (プレイヤー2) グー
あいこ!
プレイヤー1: 20点
プレイヤー2: 0点

・・・(中略)・・・

<5回目>
(プレイヤー1) チョキ (プレイヤー2) グー
プレイヤー1: 30点
プレイヤー2: 10点

<最終結果> プレイヤー1の勝ち!!!

(5) 発展編 以下の仕様を満たしたPlayerクラスを実装してください。

  • プレイヤー名を任意の名前を設定できる
  • じゃんけん1回に対する試行回数を参照できる
  • 最終結果に対する累積の勝ちの数を表示できる。
player1 = Player.new('太郎')
player1.name #=> 太郎
player1.janken_count #=> 35
player1.win_count #=> 6

(6) 発展編 3回連続「あいこ」だった場合はプログラムを中断し、引き分けにしてください。

$ ruby janken.rb
<1回目>
(太郎) グー (花子) グー
あいこ!
太郎: 0点
花子: 0点
<2回目>
(太郎) グー (花子) グー
あいこ!
太郎: 0点
花子: 0点
<3回目>
(太郎) グー (花子) グー
あいこ!
太郎: 0点
花子: 0点

3回連続あいこになったのでじゃんけんを中止します。
<最終結果> 引き分け!!!

(7) 発展編 2回連続で同じ手で負けた場合は負けた方のプレイヤーに得点を10点加算してください。

  • 加算されるのは最初の1回のみで、それ以降の負けは同じ手で負けたとしても得点は加算されないものとします。
  • 加算されるタイミングは2回目の負けのときに加算されるものとします。

About

モブプロ練習用プログラム

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published