Árvore de Laranja interativo
Publicado por Santiago Staviski (última atualização em 10/07/2010)
[ Hits: 8.018 ]
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
Exemplos de comentários e operadores de impressão na tela
Obtendo o IP público (Internet) usando o Ruby
Faça uma lista com o nome de pessoas
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Inkscape Atualização 1.4 [RESOLVIDO] (8)
samba4 - 4.21 utilizar phpldapadmin [RESOLVIDO] (5)
[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