这本书的上半部分,你打印出了一些东西,并且调用了函式,不过一切都是直线式进行的。你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点。现在你已经学会了 if、else和 elsif,你就可以开始建立包含条件判断的脚本了。
上一个脚本中你写了一系列的简单提问测试。这节的脚本中,你将需要向使用者提问,依据使用者的答案来做出决定。把脚本写下来,多多捣鼓一阵子,看看他的运作原理是什么。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
def prompt print <span class="s2">"> "</span> end puts <span class="s2">"You enter a dark room with two doors. Do you go through door #1 or door #2?"</span> prompt<span class="p">;</span> <span class="nv">door</span> <span class="o">=</span> gets.chomp <span class="k">if</span> <span class="nv">door</span> <span class="o">==</span> <span class="s2">"1"</span> puts <span class="s2">"There's a giant bear here eating a cheese cake. What do you do?"</span> puts <span class="s2">"1. Take the cake."</span> puts <span class="s2">"2. Scream at the bear."</span> prompt<span class="p">;</span> <span class="nv">bear</span> <span class="o">=</span> gets.chomp <span class="k">if</span> <span class="nv">bear</span> <span class="o">==</span> <span class="s2">"1"</span> puts <span class="s2">"The bear eats your face off. Good job!"</span> elsif <span class="nv">bear</span> <span class="o">==</span> <span class="s2">"2"</span> puts <span class="s2">"The bear eats your legs off. Good job!"</span> <span class="k">else</span> puts <span class="s2">"Well, doing #{bear} is probably better. Bear runs away."</span> end elsif <span class="nv">door</span> <span class="o">==</span> <span class="s2">"2"</span> puts <span class="s2">"You stare into the endless abyss at Cthuhlu's retina."</span> puts <span class="s2">"1. Blueberries."</span> puts <span class="s2">"2. Yellow jacket clothespins."</span> puts <span class="s2">"3. Understanding revolvers yelling melodies."</span> prompt<span class="p">;</span> <span class="nv">insanity</span> <span class="o">=</span> gets.chomp <span class="k">if</span> <span class="nv">insanity</span> <span class="o">==</span> <span class="s2">"1"</span> or <span class="nv">insanity</span> <span class="o">==</span> <span class="s2">"2"</span> puts <span class="s2">"Your body survives powered by a mind of jello. Good job!"</span> <span class="k">else</span> puts <span class="s2">"The insanity rots your eyes into a pool of muck. Good job!"</span> end <span class="k">else</span> puts <span class="s2">"You stumble around and fall on a knife and die. Good job!"</span> end |
