The RCS revision control system and Ruby. Here is the code from this episode:
#!/usr/bin/env ruby
class Character def initialize(name,role,lvl) hp = rand(8)+1 @spells = ["cantrip", "chill touch", "detect undead"] puts("You are #{name}, a level #{lvl} #{role}") end #init
def listspells() puts("#{@spells}") end #list
def spellcast(n) puts("You cast #{@spells[n]}") dice = rand(20) + 1
if dice < 10 then puts("Your spell pops and fizzles. Nothing happens.") else puts("Your spell does #{dice} damage.") end #if end #spellcast end #class
if __FILE__ == $0 then pc = Character.new("Bob","Wizard",1) pc.listspells() pc.spellcast(1) pc.spellcast(0) end
shasum -a256=498b06f0b3d98285a6b4f41528f152ed182dc6d54627accfc53f3539a39f4ea2