Pular para o conteúdo

Árvore de Laranja interativo

Um programa de brincadeira para aprender sobre uso de objetos, classes, métodos e atributos.
Santiago Staviski allen.konstanz
Hits: 8.504 Categoria: Ruby Subcategoria: Rails
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Um programa de brincadeira para aprender sobre uso de objetos, classes, métodos e atributos.
Download arvore.rb Enviar nova versão

Versões atualizadas deste script

Esconder código-fonte

class ArvoreDeLaranja
   def initialize altura
      @altura = altura
      @anos = 1
      @numero_de_laranjas = 0
      puts 'Altura da é ' + @altura + ' metros'
   end
   def crescer
      passar_um_ano
      puts 'Um ano se passou sua árvore agora tem ' +@anos.to_s+' anos'
      puts 'E tem '+@altura.to_s+' metros de altura'
      puts
      menu
      
   end
   
   def pegar_laranjas
      puts 'Quantas laranjas deseja colher?'
      pegar = gets.chomp.to_i
      if (pegar>@numero_de_laranjas)
         puts 'A árvore não tem laranjas suficientes'
         puts
         menu
      elsif (pegar<=@numero_de_laranjas)
         @numero_de_laranjas = @numero_de_laranjas-pegar
         puts 'Que laranja deliciosa!'
         puts 'Agora a árvore só tem '+@numero_de_laranjas.to_s+' laranjas.'   
         puts
         menu      
      end
   end
   
   def contar_laranjas
      puts 'A árvore tem atualmente '+@numero_de_laranjas.to_s+' laranjas'
      puts
      menu
   end
   
   private 
   
   def passar_um_ano
      @anos = @anos+1   
      @numero_de_laranjas = 0   
      if (@anos >2 and @anos <5)
         @numero_de_laranjas = rand(15)+1
         @altura = @altura.to_i+rand(3)+1
      else
         @numero_de_laranjas = rand(30)+1
      end
      if (@anos>10)
      puts 'A árvore com altura de '+@altura.to_s+' metros de altura e '+@anos.to_s+' anos morreu!'
      exit #sai do programa
      end
            
   end
   
   
   
end

def menu
      puts'"Suas opções são:"'
       puts'""'
      puts '1) Passar um ano'
      puts '2) Contar laranjas'
      puts '3) Colher laranjas'
      puts '0) Sair do programa'
      puts
      puts 'Escolha uma opção: '
      opcao = gets.chomp.to_i
      while not (0 <= opcao and opcao <= 3)
         puts 'Escolha uma opção de 0 a 3: '
         opcao = gets.chomp.to_i         
       end

         if opcao ==1
            $arvore.crescer
         elsif opcao ==2
            $arvore.contar_laranjas
         elsif opcao ==3
            $arvore.pegar_laranjas
         elsif opcao ==0
            puts 'Você está saindo do programa'
         end
      end


#programa começa aqui:
puts 'Quantos metros sua árvore terá inicialmente? '
metros = gets.chomp
$arvore = ArvoreDeLaranja.new metros.to_s
puts
menu

Shoes - GUIfique scripst em ruby

Inversor de links com Shoes

Postmon - Consumindo uma API com Ruby

Arquivos em Ruby

Tabuada de um número

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.