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

#このプログラムのテーマは小説執筆です。
#これは小説を執筆する際、キャラがなかなか思いつかないという方が使えるプログラムです。
#実装した機能は検索機能です。具体的に説明すると、名前で検索する場合と、性格で検索する場合の二パターンを作り、自分にマッチするキャラを探せるようにしています。
#プログラムの流れは、最初に検索方法、又は終了選択、そして次に名前検索の場合は名前の最初の文字、性格検索の場合は性格を表す言葉を入力し、最後にそれにあったキャラが表示されます。
#僕はこのプログラムを作り、実装したいと思ったものは最初の選択のときにキャラ追加という欄を追加し、そこから皆さんにキャラを考え、追加してもらうという機能です。
#現状、僕一人でキャラを作っているので、そこまで多くのキャラは作れませんし、似たようなキャラが集まってしまって個性があまりなくなってしまう可能性があります。
#しかし皆さんに追加してもらえれば、様々な個性が集まって面白いキャラなどが出てくると思います。そうなれば、小説執筆の際もバリエーションが豊富で書きやすいと思います。
#このプログラムを思いついたキッカケのようなものは、僕が初めて小説執筆した際に、キャラを考えることに時間がかかり、結構苦戦したことです。
#なので僕と同じようなことが起きないよう、キャラを作り、それを皆さんに使ってもらって初めてでもなるべく楽に執筆できるようにしたいと考えました。
#そうしてこのプログラムはできました。
#小説を執筆する際、ぜひこのプログラムを使ってみてください。

require'csv'
kyara=CSV.read("kyara.csv", :headers=>true)

while true
  puts("キャラの性格で検索しますか?名前で検索しますか?性格の場合はA、名前の場合はBと入力してください。終わる場合はCと入力してください。")
  answer=gets.chomp
  if answer=="A"
    puts("性格を表す言葉を入力してください。")
    aanswer=gets.chomp
    kyara.each do |row|
      name,image=row[0],row[1]
      if /#{aanswer}/=~image

        printf("%s:%s
----------------------\n",name,image)
      end
    end
  elsif answer=="B"
    puts("名前に含まれる文字を入力してください(カタカナで)。")
    banswer=gets.chomp
    kyara.each do |row|
      name,image=row[0],row[1]
      if /#{banswer}/=~name
        printf("%s:%s
---------------------\n",name,image)
      end
    end
  elsif answer=="C"
    break
  else
    puts("A・Bのどちらかを入力してください。")
    redo
  end
end