require 'Deck.rb' class WarRules def initialize @front_line = 2 end def game_is_over(deck_one, deck_two) if( deck_one.length == 0 or deck_two.length == 0 ) return true end return false end def determine_winner(deck_one, deck_two) if(deck_one.length == 0) return "Player Two" elsif(deck_two.length == 0) return "Player One" end return "no one" end def examine_decks(deck_one, deck_two) card1 = translate_card(deck_one[0]) card2 = translate_card(deck_two[0]) puts "#{card1} VS #{card2}" if( deck_one[0] > deck_two[0] ) puts "Player One gains #{card2}" deck_one.insert( -1, deck_two[0] ) deck_one.insert( -1, deck_one[0] ) elsif( deck_one[0] < deck_two[0] ) puts "Player Two gains #{card1}" deck_two.insert( -1, deck_one[0] ) deck_two.insert(-1, deck_two[0] ) elsif( deck_one[0] == deck_two[0] ) puts "There is a war! #{translate_card(@front_line)}'s die in war" deck_one.delete_if{|x| (x==@front_line)} deck_two.delete_if{|x| (x==@front_line)} @front_line = @front_line + 1 end deck_two.delete_at(0) deck_one.delete_at(0) end def translate_card(card) if(card == 2) return "2" elsif(card == 3) return "3" elsif(card == 4) return "4" elsif(card == 5) return "5" elsif(card == 6) return "6" elsif(card == 7) return "7" elsif(card == 8) return "8" elsif(card == 9) return "9" elsif(card == 10) return "10" elsif(card == 11) return "Jack" elsif(card == 12) return "Queen" elsif(card == 13) return "King" elsif(card == 14) return "Ace" end end end