Newer
Older
Ruby / fishing.rb
#!usr/bin/env ruby
# -*- coding: utf-8 -*-

def zikan(time)
  sleep(time)
end

puts "魚釣りゲーム\n魚を釣るとポイントがもらえるよ。\n魚の大きさによって追加でポイントがもらえることがあるよ。\n60秒間で、どれくらいポイントがもらえるかな?\n"
while true
  point = 0
  nokori = 60
  puts "魚釣りゲームスタート!\n-----------------------------"
  while true
    if nokori > 0
      zikan(3)
      puts "何が釣れるかな〜?"
      zikan(3) 
      puts "バシャバシャ"
      zikan(4)
      puts "釣れた!"
      size = rand(25)
      fish = ["イワシ","スズキ","タイ"]   #イワシ=0 スズキ=1 タイ=2
      srand()
      sakana = rand(fish.length)
      zikan(1)
      printf("約%scmの%sが釣れました。\n",size,fish[sakana])
      zikan(1)
      if fish[sakana] == "イワシ"
        point += 2
        puts "+ 2P  「イワシを釣った」" 
      elsif fish[sakana] == "スズキ" 
        point += 5
        puts "+ 5P  「スズキを釣った」" 
      elsif fish[sakana] == "タイ"
        point += 10
        puts "+10P  「タイを釣った」" 
      end
      zikan(1)
      if size >= 10 and size <= 14
        point += 2
        puts "+ 2P  「魚の大きさが10cm以上」" 
      elsif size >= 15 and size <= 19
        point += 4
        puts "+ 4P  「魚の大きさが15cm以上」" 
      elsif size >= 20
        point += 7
        puts "+ 7P  「魚の大きさが20cm以上」"
      end
      zikan(0.5)
      printf("現在%dポイントです。\n",point)
      puts "-----------------------------"
      nokori -= 10
      redo
    else
      break
    end
    break
  end
  printf("今回は%dポイントでした。\n",point)
  puts "もう一度やる?\n「はい」か「いいえ」で答えてください。"
    kotae = gets.chomp
    if kotae == "はい"
      redo
    elsif kotae == "いいえ"
      puts "終了します。"
      break
    else
      puts "はいかいいえと入力しなかったので、終了します。"
      break
    end
end