Árvore de Laranja interativo
Publicado por Santiago Staviski (última atualização em 10/07/2010)
[ Hits: 8.305 ]
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
Shoes - GUIfique scripst em ruby
Exemplo de utilização de métodos em Ruby
Sistema de simulação de fabricantes de carros
Crivo de Eratóstenes Simples em Ruby
Nenhum comentário foi encontrado.
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie