Árvore de Laranja interativo
Publicado por Santiago Staviski (última atualização em 10/07/2010)
[ Hits: 8.045 ]
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
Crivo de Eratóstenes Simples em Ruby
Exemplos de comentários e operadores de impressão na tela
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (0)
Dificuldade para renderizar vídeo no kdenlive (6)
xubuntu sem sons de eventos (3)
Erro ao iniciar serviço samba4 como novo dc em um ambiente com ad [RES... (9)