class LoveLetterApplication::Actions::Soldier
Public Class Methods
id()
click to toggle source
# File lib/love_letter_application/actions/soldier.rb, line 34 def self.id;1;end
Public Instance Methods
call(target_player_id:, target_card_id:, game_board:, change_orders:)
click to toggle source
# File lib/love_letter_application/actions/soldier.rb, line 15 def call(target_player_id:, target_card_id:, game_board:, change_orders:) game_board = play_card.call( game_board: game_board, card_id: Soldier::id) change_orders = change_orders.push(get_card_played_node.( player_id: game_board.current_player_id.to_i, card_id: Soldier::id)) if guess_is_correct?(target_player_id, target_card_id, game_board) process_correct_guess.( target_player_id: target_player_id, game_board: game_board, change_orders: change_orders) else process_incorrect_guess.( game_board: game_board, change_orders: change_orders) end end
Private Instance Methods
guess_is_correct?(target_player_id, target_card_id, game_board)
click to toggle source
# File lib/love_letter_application/actions/soldier.rb, line 37 def guess_is_correct?(target_player_id, target_card_id, game_board) game_board .players .find{|player| player.id.to_i.eql?(target_player_id)} .hand .any?{|card| card.id.to_i.eql?(target_card_id)} end