module GamePackage::Janken

Constants

GU
PA
TYOKI

Public Class Methods

start() click to toggle source
# File lib/game_package/janken.rb, line 12
def start
  puts "ジャンケン..."
  jadgement = 'draw'

  while jadgement == 'draw' do
    player = player_hand
    computer = computer_hand
    jadgement = jadge(player, computer)
    puts "ポン\n"
    puts '-'*15
    puts "あなた #{convert_hand_into_string(player)}\nあいて #{convert_hand_into_string(computer)}"
    puts '-'*15
    puts ''
    return jadgement if ['win', 'lose'].include?(jadgement)
    
    puts 'あいこで...'
  end
end

Private Class Methods

computer_hand() click to toggle source
# File lib/game_package/janken.rb, line 49
def computer_hand
  [GU, TYOKI, PA].sample
end
convert_hand_into_string(hand) click to toggle source
# File lib/game_package/janken.rb, line 53
def convert_hand_into_string(hand)
  ['グー', 'チョキ', 'パー'][hand]
end
jadge(player_hand, computer_hand) click to toggle source
# File lib/game_package/janken.rb, line 39
def jadge(player_hand, computer_hand)
  return 'draw' if player_hand == computer_hand
    
  return 'win' if player_hand == GU && computer_hand == TYOKI ||
    player_hand == TYOKI && computer_hand == PA ||
    player_hand == PA && computer_hand == GU
  
  'lose'
end
player_hand() click to toggle source
# File lib/game_package/janken.rb, line 31
def player_hand
  puts "\nあなたの出す手を決めてください"
  puts '-'*15
  puts "グー(0)\nチョキ(1)\nパー(2)"
  puts '-'*15
  gets.to_i
end