Spill stjålet fra manualen til Commodore 64. Målet er å gjette et tall med minst mulig forsøk.
1| class Gjett # Et lite spill 2| def initialize 3| @max = 100 4| @min = 1 5| @forsoek = 0 6| @ferdig = false 7| @fasit_svar = ((@max-@min)*rand).to_i + @min 8| end 9| def spill 10| puts "\nGjettekonkurranse!" 11| while @forsoek < 10 and not @ferdig 12| gjett( hent_svar ) 13| end 14| end 15| def gjett( svar ) 16| diff = (svar - @fasit_svar).abs 17| if diff > 25 18| print "Mye " 19| elsif diff > 15 20| print "Endel " 21| elsif diff > 0 22| print "Litt " 23| end 24| if svar > @fasit_svar 25| puts "lavere. " 26| elsif svar < @fasit_svar 27| puts "høyere. " 28| end 29| if diff == 0 30| @ferdig = true 31| puts "Du klarte det på #@forsoek forsøk!" 32| end 33| end 34| def hent_svar 35| begin 36| print "Gjett ett tall mellom #@min og #@max >:" 37| svar = gets.to_i 38| end until svar >= @min and svar <= @max 39| @forsoek += 1 40| svar 41| end 42| end 43| 44| # La oss unngå å bruke de kryptiske globale variabelnavnene. 45| require 'English' 46| if __FILE__ == $PROGRAM_NAME then 47| begin 48| g = Gjett.new 49| g.spill 50| print "Spille en gang til? [j/n]: " 51| svar = gets.downcase 52| end while svar[0] == ?j 53| end |