mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-22 07:10:42 -08:00
75
00_Alternate_Languages/33_Dice/Julia/Dice.jl
Normal file
75
00_Alternate_Languages/33_Dice/Julia/Dice.jl
Normal file
@@ -0,0 +1,75 @@
|
||||
#=
|
||||
Port of Dice from BASIC Computer Games (1978)
|
||||
|
||||
This "game" simulates a given number of dice rolls, and returns the
|
||||
count for each possible total.
|
||||
|
||||
The only change that has been made from the original program, is that
|
||||
when asking if the user wants to play again, any string starting with
|
||||
y or Y will be accepted, instead of only YES.
|
||||
=#
|
||||
|
||||
function main()
|
||||
# Array to store the counts for each total.
|
||||
# There are 11 possible totals.
|
||||
counts = [0 for i in 1:11]
|
||||
|
||||
# Print intro text
|
||||
println("\n Dice")
|
||||
println("Creative Computing Morristown, New Jersey")
|
||||
println("\n\n")
|
||||
println("This program simulates the rolling of a")
|
||||
println("pair of dice.")
|
||||
println("You enter the number of times you want the computer to")
|
||||
println("'roll' the dice. Watch out, very large numbers take")
|
||||
println("a long time. In particular, numbers over 5000.")
|
||||
|
||||
still_playing = true
|
||||
while still_playing
|
||||
println()
|
||||
print("How many rolls? ")
|
||||
|
||||
# Get user input for number of dice rolls
|
||||
rolls = readline()
|
||||
rolls = parse(Int64, rolls)
|
||||
|
||||
# Roll dice the specified number of times and update total count
|
||||
for _ in 1:rolls
|
||||
dice_roll = rand(1:6, 2)
|
||||
dice_sum = sum(dice_roll)
|
||||
|
||||
# The index is one less than the sum, as a sum of 1 is impossible,
|
||||
# the array will only have 11 values
|
||||
counts[dice_sum-1] += 1
|
||||
end
|
||||
|
||||
# Display results
|
||||
println("\nTotal Spots Number of Times")
|
||||
for i in 1:8
|
||||
print(" ")
|
||||
print(i+1)
|
||||
print(" ")
|
||||
println(counts[i])
|
||||
end
|
||||
for i in 9:11
|
||||
print(" ")
|
||||
print(i+1)
|
||||
print(" ")
|
||||
println(counts[i])
|
||||
end
|
||||
|
||||
# Ask try again
|
||||
print("\nTry Again? ")
|
||||
input = readline()
|
||||
if length(input) > 0 && uppercase(input)[1] == 'Y'
|
||||
# If game is continued, resets total counts
|
||||
counts = [0 for i in 1:11]
|
||||
else
|
||||
still_playing = false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if abspath(PROGRAM_FILE) == @__FILE__
|
||||
main()
|
||||
end
|
||||
3
00_Alternate_Languages/33_Dice/Julia/README.md
Normal file
3
00_Alternate_Languages/33_Dice/Julia/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
|
||||
|
||||
Conversion to [Python](https://www.julialang.org/)
|
||||
Reference in New Issue
Block a user