Sha256: e8ae908afe42a29e93913ef14fbf1c68fcf9ef2c3631f37450b5f1049fbb18d5
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
# frozen_string_literal: true # coding: utf-8 require 'cureutils/logic/base_logic' # # Class of Pikarin Janken # class JankenLogic < BaseLogic def initialize super # Set the sleep time 0 Rubicure::Girl.sleep_sec = 0 # 0: win, 1: lose, 2: aiko @result_table = [[2, 0, 1, 1], [1, 2, 0, 1], [0, 1, 2, 1], [0, 0, 0, 2]] @result_idx = %w(あなたのかち あなたのまけ あいこ) @te_idx = %w(グー チョキ パー グッチョッパー) @te_hash = Hash[[@te_idx, (0..3).map(&:to_s)].transpose] @buf = [] end attr_writer :io def puts(input) @buf << input end def janken Cure.peace.io = self Cure.peace.janken @buf[0..1].each do |msg| @out.puts msg end judge end def generated_te @buf.last =~ /(#{@te_idx.join('|')})/ @te_hash[Regexp.last_match(1)].to_i end def input_te @out.print('1...グー, 2...チョキ, 3...パー : ') # TODO: Check input and raise the error. player_te = $stdin.gets player_te.to_i - 1 end def judge cure_te = generated_te player_te = input_te result_num = @result_table[player_te][cure_te] result = @result_idx[result_num] print_results(@te_idx[player_te], @te_idx[cure_te], result) result_num end def print_results(player_te, cure_te, result) @out.puts @out.puts 'あなた: ' + player_te @out.puts 'キュアピース: ' + cure_te @out.puts @out.puts '[結果]' @out.puts result end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cureutils-1.1.0 | lib/cureutils/logic/janken_logic.rb |
cureutils-1.0.1 | lib/cureutils/logic/janken_logic.rb |
cureutils-1.0.0 | lib/cureutils/logic/janken_logic.rb |