寻找失落的红宝石

我的第一个ruby程序【猜数字】

上一篇 / 下一篇  2007-09-03 02:03:32 / 个人分类:启程之诗

写的很粗糙也很简单,没有仔细判断键盘输入部分,字符串处理掌握的还不够。

用了basic式程序写的代码,以后慢慢的简化成ruby式的。

希望高手指点用ruby简化的代码。

初学者朋友欢迎一起学习探讨。


#教程里面找到随机生成0-n之间m个不重复数字的方法 def sample(n, m) if m.zero? [] else s = sample(n-1, m-1) t = rand(n+1) s.concat s.include?(t) ? [n] : [t] end end puts '猜数字游戏' puts '游戏方法:每次输入4位 0-9 之间不重复的数字,根据提示猜测电脑的随机数' puts '提示中,B代表数正确但位置不对的数字个数,而A代表位置与数都正确的数字个数' puts '提示规则:共有8次机会,每次提示A,B类数字的数量' puts '作弊方法:输入0000' $a4=sample(9,4).join("") #生成4位随机数字 puts '#############################################################' times = 8 while times>0 $A=$B=0 print "您还有#{times}次机会,请输入4位数字: " STDOUT.flush num=gets num.chop! if num == '0000' then win=true break end for n in (0..3) for m in (0..3) if num[n]==$a4[m] then if n==m then $A+=1 next end $B+=1 end end end puts "A=#{$A},B=#{$B}" times-=1 if $A == 4 then win=true break end end if win then puts "恭喜您,只用了#{8-times}次机会猜中。答案#{$a4}" else puts "很遗憾您没有猜中,正确答案是#{$a4}!" end puts " |GAME|\n |OVER|"<HR id=null>

TAG: ruby 猜数字

红宝石瓶 引用 删除 mewleo   /   2007-09-04 21:06:32
寻找红宝石就是学习buby的意思

一点一点积累起来就找到了,呵呵
小飞猪之Ruby窝 引用 删除 drive2me   /   2007-09-04 19:38:08
红宝石村还没人和东东呢,白走一趟了。
补偿我吧,来点好东东分享吧!
小飞猪之Ruby窝 引用 删除 drive2me   /   2007-09-04 19:35:53
哈,看你的头像,好悠闲。冒足劲,去找红宝石吧!
呵呵...你好像和红宝石有啥关系,看看你的日志目录,很有趣!
小飞猪之Ruby窝 引用 删除 drive2me   /   2007-09-04 19:33:24
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-08  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 246
  • 日志数: 4
  • 图片数: 2
  • 书签数: 1
  • 建立时间: 2007-09-02
  • 更新时间: 2008-05-03

RSS订阅

Open Toolbar