Árvore de Laranja interativo
Publicado por Santiago Staviski (última atualização em 10/07/2010)
[ Hits: 8.032 ]
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
Faça uma lista com o nome de pessoas
Módulo DBI para acesso a dados no Ruby
Exemplo de utilização de métodos em Ruby
Sistema de simulação de fabricantes de carros
Nenhum comentário foi encontrado.
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta