[Ruby] Lottery [Updated] 03-29-2015, 06:22 PM
#1
Back again.
I threw this together when I started learning ruby and thought I'd improve it.
May update in the future to make it smaller/more compact as well as more/fewer numbers for an actually winnable lottery and maybe a raffle, while I'm at it.
Enjoy.
Update:
- Added more modes
- Compacted lottery function
I threw this together when I started learning ruby and thought I'd improve it.
May update in the future to make it smaller/more compact as well as more/fewer numbers for an actually winnable lottery and maybe a raffle, while I'm at it.
Enjoy.
Code:
#rLottery by Nightc||ed, ©2014
range = (01..50)
puts "[1] computer selected numbers"
puts "[2] input your own"
nums = gets.chomp
if nums == "2"
puts "enter first number (1-50)"
puts "current numbers:"
a1 = gets.to_i
system "cls"
puts "enter second number (1-50)"
puts "current numbers: #{a1}"
a2 = gets.to_i
system "cls"
puts "enter third number (1-50)"
puts "current numbers: #{a1}, #{a2}"
a3 = gets.to_i
system "cls"
puts "enter fourth number (1-50)"
puts "current numbers: #{a1}, #{a2}, #{a3}"
a4 = gets.to_i
system "cls"
puts "enter fifth number (1-50)"
puts "current numbers: #{a1}, #{a2}, #{a3}, #{a4}"
a5 = gets.to_i
system "cls"
puts "enter sixth number (1-50)"
puts "current numbers: #{a1}, #{a2}, #{a3}, #{a4}, #{a5}"
a6 = gets.to_i
elsif nums == "1"
a1 = range.to_a.sample
a2 = range.to_a.sample
a3 = range.to_a.sample
a4 = range.to_a.sample
a5 = range.to_a.sample
a6 = range.to_a.sample
else
puts "invalid choice"
sleep
end
system "cls"
b1 = range.to_a.sample
b2 = range.to_a.sample
b3 = range.to_a.sample
b4 = range.to_a.sample
b5 = range.to_a.sample
b6 = range.to_a.sample
arrb = [b1, b2, b3, b4, b5, b6]
arra = [a1, a2, a3, a4, a5, a6]
arrb.sort
arra.sort
puts "current numbers: #{a1}, #{a2}, #{a3}, #{a4}, #{a5}, #{a6}"
puts "Press enter to continue"
cont = gets.chomp
system "cls"
puts "Your Numbers: #{a1}, #{a2}, #{a3}, #{a4}, #{a5}, #{a6}"
puts "Winnnig Numbers: #{b1}, #{b2}, #{b3}, #{b4}, #{b5}, #{b6}"
puts "odds against: 15,625,000,000:1" #I'm a programmer, not a statistician. This is probably wrong.
if arra == arrb
puts "Congratulations! You win!"
else
puts "Sorry :( please play again."
end
kill = gets.chomp
exitUpdate:
- Added more modes
- Compacted lottery function
Code:
#rLottery by Nightc||ed, ©2014
puts """
what game would you like to play?
[1] Lottery [2] Raffle
[3] 50/50 [4] ----
"""
game = gets.chomp
system "cls"
case game
when "1"
def conf
puts """
-----------Lottery config----------
"""
end
conf
puts "enter number of slots:"
numc = gets.to_i
system "cls"
conf
puts "number of slots: #{numc}"
puts "enter range of numbers:"
rng = gets.to_i
system "cls"
rng = *(1..rng)
draw = []
numc.times do
draw << rng.sample
end
puts """
-=-=-=-=-=-=Lottery=-=-=-=-=-=-=
the winning numbers are:
#{draw}
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="""
sleep
when "2"
puts """
-----------Raffle config----------
Enter number of tickets:
"""
tickets = gets.to_i
tickets = *(1..tickets)
winner = tickets.sample
system "cls"
puts """
-=-=-=-=-=-=-Raffle=-=-=-=-=-=-=
the winning ticket is: #{winner}!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="""
sleep
when "3"
puts """
-----------50/50 config----------
Enter number of tickets:
"""
tickets = gets.to_i
system "cls"
puts """
-----------50/50 config----------
Enter price per ticket ($$.¢¢; ex. 01.50):
"""
price = gets.to_i
sum = tickets * price
tickets = *(1..tickets)
wticket = tickets.sample
system "cls"
puts """
-=-=-=-=-=-=-50/50-=-=-=-=-=-=-=
ticket number #{wticket} won $#{sum}!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="""
sleep
when "4"
puts "Under construction"
sleep
endIt's often the outcasts, the iconoclasts ... those who have the least to lose because they
don't have much in the first place, who feel the new currents and ride them the farthest.
don't have much in the first place, who feel the new currents and ride them the farthest.
















![[+]](https://sinister.li/images/modern/collapse_collapsed.png)