2008/09/25

randを使ったプログラムの練習

下らない内容なのは重々承知しているのだけど、randを使ってみたかったので以下のようなスクリプトを作ってみた。僕にはまず書き慣れることが大事だと思うので、低レベルのものでもどんどん書いて晒していきたいと思います。

#!/usr/bin/ruby

mylife = 100 + rand(30)
enlife = 100 + rand(30)

puts "** FIND ENEMY! **"
puts "YOUR LIFE is " + mylife.to_s + ". ENEMY LIFE is " + enlife.to_s + "."
puts
sleep 1

while mylife>0 && enlife>0 do
case rand(2)
when 0 then
puts "YOUR ATTACK!-->"
sleep 1
if rand(9) == 7 then
puts "CRITICAL HIT!!"
dmg = rand(30) + rand(30) + rand(30)
else
dmg = rand(30)
end
enlife = enlife - dmg
if enlife<0 then enlife=0 end
puts " ENEMY DAMAGE " + dmg.to_s + ". ENEMY LIFE=" + enlife.to_s
puts
sleep 1
when 1 then
puts " <--ENEMY ATTACK!"
sleep 1
if rand(9) == 7 then
puts " CRITICAL HIT!!"
dmg = rand(30) + rand(30) + rand(30)
else
dmg = rand(30)
end
mylife = mylife - dmg
if mylife<0 then mylife=0 end
puts "YOUR DAMAGE " + dmg.to_s + ". YOUR LIFE=" + mylife.to_s
puts
sleep 1
end
end

if mylife>0 then
puts "** YOUR WIN **"
else
puts "** YOUR LOSE **"
end

exit