Newer
Older
Ruby / sugoroku.rb
@MIZUNO Manaka MIZUNO Manaka on 16 Aug 2022 1 KB 2022-08-16 22:46:21
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

masume = [0, 0, 1, 0, 0, -1, 0, 1, 0, -1, 0, 0, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0, -2, 0, 0, -2, 1, 0, 2, 0]
a = [0, 0, 0, 0, 0, 0, -5, -4, -5, 0]
b = [0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 2, 0, 0]
c = [0, 0, 2, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 2, -3, 0, 2, 0, 0, 0, -3, 4, 0, -4, 0, 0, 0, -4, 6, 0, -2, 0, 0, -2, 0, 0, -4, 1, 0, -99]
x = [0, 0]

def sugoroku(me, kaisuu, masume)
  while me < masume.length
    sleep(2)
    kaisuu += 1
    srand()
    printf("%d回目\n", kaisuu)
    sleep(2)
    print("エンターキーを押して、サイコロを振ってね。")
    gets
    print("サイコロ:")
    sleep(3)
    saikoro = rand(6) + 1
    puts saikoro
    sleep(1)
    while saikoro > 0
      me += 1
      saikoro -= 1
      printf("%d\n", me)
      sleep(0.6)
    end
    if me >= masume.length
      break
    end
    if masume[me] != 0
      puts("ギミック")
      sleep(2)
      if masume[me] > 0
        printf("%dマス進む\n", masume[me])
      elsif masume[me] < 0
        printf("%dマス戻る\n", -masume[me])
      elsif masume[me] == -99
        puts("スタートに戻る")
      end
      me += masume[me]
    end
    sleep(1)
    printf("マス目は%dだよ!\n", me)
    sleep(2)
  end
  return [me, kaisuu]
end

puts("すごろくスタート")
x = sugoroku(x[0], x[1], masume)
puts("ストップ!\nここから先は、2つの道があるよ!\nサイコロを振って1,3,5が出たら短いが危険な道、2,4,6が出たら長いが安全な道だよ!")
sleep(10)
print("エンターキーを押して、サイコロを振ってね。")
gets
print("サイコロ:")
sleep(3)
saikoro = rand(6) + 1
puts saikoro
sleep(1)
if saikoro % 2 == 1
  puts("短いが危険な道を進むよ!")
  masume += a
elsif saikoro % 2 == 0
  puts("長いが安全な道を進むよ!")
  masume += b
end
x = sugoroku(x[0], x[1], masume)
masume += c
x = sugoroku(x[0], x[1], masume)
puts("ゴール!!")
sleep(1.5)
printf("%d回でゴールしたよ!!\n", x[1])