Árvore de Laranja interativo
Publicado por Santiago Staviski (última atualização em 10/07/2010)
[ Hits: 8.222 ]
Homepage: http://allenkonstanz.blogspot.com
Download arvoreV2.rb (versão 2)
Um programa de brincadeira para aprender sobre uso de objetos, classes, métodos e atributos.
Versão 2 - Enviado por Santiago Staviski em 06/07/2010
Changelog: Todos os métodos estão dentro da classe agora. Nenhuma variável global é usada.
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
Web Crawler em Ruby com Open-URI e Nokogiri
Crivo de Eratóstenes Simples em Ruby
Nenhum coment�rio foi encontrado.
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (7)
Aprendendo mais sobre Linux com livro (6)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (6)