Created
November 3, 2024 19:50
-
-
Save svoboda-jan/1a6e6ac273cdc7988aae664c1e3bf756 to your computer and use it in GitHub Desktop.
A dice betting game using Opal Ruby to Javascript source-to-source compiler
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Dice Betting Game, https://opalrb.com/try/ | |
bank = 100; | |
while bank > 0 do | |
bet = `prompt("Place your bet")`.to_i | |
dice1 = (rand * 6).ceil | |
dice2 = (rand * 6).ceil | |
outcome = dice1 == dice2 | |
bank += bet if outcome | |
bank -= bet unless outcome | |
puts "Numbers are: #{dice1} #{dice2}" | |
puts outcome_txt = outcome ? "You Win" : "You Lose" | |
outcome_txt += ", bank is now #{bank}" | |
puts "Bank is now #{bank}" | |
`alert(outcome_txt)` | |
end |
Is there a standalone example? E. g. can I just put the ruby code into a .html file too, or do
I need to use "opal --compile"?
Would be nice to add it to the official examples, if it works. Right now I am not sure how to
get it to work (I am an opal-noob at this point in time).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Created a new one using native:
https://gist.github.com/svoboda-jan/cc4d675bac8a966038c8aeb0a495b3ad
The motivation behind these scripts is to create an easy way to start learning ruby without having to install it.
So in the betting game a task may be:
In the calendar it might be:
Another script I've created is to display Czech name days, using Base64 encoded data at the end of the file:
https://gist.github.com/svoboda-jan/25144fb6b734893dc4742ac52b54b869
Here the task could be to combine these scripts in some way, like displaying the name day in the calendar, think that wold be a good task to teach refactoring, because both scripts work with date.