#CARD SELECTOR PROGRAM - Programed in Ruby by: ~Nikke

#EARLY VARIABLES
chosencard = 0
chosensuit = ""
cardcounter = 0
i = 0
#DEFIENING CARD TABLE
    #---------FRENCH CARDS
    cardsfr = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Joker"] 
    suitsfr = ["Hearts ♡", "Tiles ♢", "Clover ♧", "Pikes ♤",]
    #---------HUNGARIAN CARDS
    cardshu = ["Ász", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Bubi", "Dáma", "Király", "Joker"] 
    suitshu = ["Piros ♡", "Tök ♢", "Makk ♧", "Zöld ♤",]

#STARTUP

puts "            +-+-+-+-+-+-+-+-+-+ "
puts "            |R|U|B|Y|C|A|R|D|S| "
puts "            +-+-+-+-+-+-+-+-+-+ "
puts " "
puts "      A french random card generator."
puts "       Made by: 10.F class - Project"
puts "Wrote in Ruby [.rb] Commands? Choose one HU or FR"
puts " "
puts "                                                      _____   "
puts "French Card Set                                      |2    |  "
puts "Ace 2 3 4 5 6 7 8 9 10 Jack Queen King Joker         |  ♧  |  "
puts "Hearts ♡ Tiles ♢ Clover ♧ Pikes ♤                    |     |  "
puts "                                                     |____2|  "                                                
puts "------------------------GENERATING----------------------------"
File.open("log.txt", "w") { |f| f.write "#{Time.now} - Start logging card generations.\n" }
puts "[RC]> Log file created!"
#MAIN PROCCESS HERE
for _ in 0..48 do 
    chosencard = cardsfr.sample
    chosensuit = suitsfr.sample
    
    if chosencard.eql? "Joker"
        puts "The selected index is Joker!"
        File.write("log.txt", "The selected index is Joker!\n", mode: "a")
        cardcounter += 1
        i += 1

    elsif chosencard !=  "Joker"
        puts "The selected index is #{chosencard} with #{chosensuit} suit!"
        File.write("log.txt", "The selected index is #{chosencard} with #{chosensuit} suit!\n", mode: "a")
        cardcounter += 1
        i += 1
    end
end

chosencard = cardsfr.sample
chosencarddownindex = chosencard
chosensuit = suitsfr.sample

if chosencard.eql? "Joker"
    puts "The selected index is Joker!"
    File.write("log.txt", "The selected index is Joker!\n", mode: "a")
    #PRINTING THE JOKER CARDS ASCII CARD FORM
    cardascii = """
    __________
   |          |
   |    J     |
   |    O     |
   |    K     |
   |    E     |
   |    R     |
   |__________|
"""
    puts " "
    puts cardascii
    cardcounter += 1

elsif chosencard !=  "Joker" && chosencard != "Ace"
    puts "The selected index is #{chosencard} with #{chosensuit} suit!\n"

    #IF STATEMENTS FOR EACH SYMBOL IN SUITS
    if chosensuit.eql? "Hearts ♡"
        suitsymbol = "♡"
    end
    if chosensuit.eql? "Tiles ♢"
        suitsymbol = "♢"
    end
    if chosensuit.eql? "Clover ♧"
        suitsymbol = "♧"
    end
    if chosensuit.eql? "Pikes ♤"
        suitsymbol = "♤"
    end


    if chosencard.eql? "Queen"
        chosencard = "Q"
    end
    if chosencard.eql? "King"
        chosencard = "K"
    end
    if chosencard.eql? "Jack"
        chosencard = "J"
    end

    #PRINTING THE CARD ASCII FORM
    cardascii = """
    __________
   |#{chosencard}         |
   |          |
   |          |
   |    #{suitsymbol}     |
   |          |
   |          |
   |_________#{chosencard}|
"""
    puts " "
    puts cardascii
    File.write("log.txt", "The selected index is #{chosencard} with #{chosensuit} suit!\n", mode: "a")
    cardcounter += 1


elsif chosencard.eql? "Ace"
    puts "The selected index is Ace!"
    #PRINTING THE JOKER CARDS ASCII CARD FORM
    cardascii = """
    __________
   |   ACE    |
   |          |
   |          |
   |    ♤     |
   |          |
   |          |
   |___ACE____|
"""
    puts " "
    puts cardascii
    cardcounter += 1
    File.write("log.txt", "The selected card is Ace!\n", mode: "a")
end

#PRINTS HOW MANY CARDS HAVE BEEN GENERATED!
puts " "
puts "#{cardcounter} french card generated!"
pause = gets