PHP Classes

File: js/tamagotchi.js

Recommend this page to a friend!
  Classes of Rodrigo Faustino   Tamagoshi PHP Cryptocurrency Miner Virtual Pet   js/tamagotchi.js   Download  
File: js/tamagotchi.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Tamagoshi PHP Cryptocurrency Miner Virtual Pet
Game to manage a cryptocurrency miner pet
Author: By
Last change:
Date: 8 months ago
Size: 3,805 bytes
 

Contents

Class file image Download
new Vue({ el: '#app', data: { tamagotchi: { nome: 'Meu Tamagotchi', evolucao: 'Bebê', fome: 50, sono: 50, idade: 0.9, }, humor: 'Normal', dormindo: false, conquistas: [], metas: [ { nome: 'Sobreviver por 10 dias', condicao: function(tamagotchi) { return tamagotchi.idade >= 10; }, alcancada: false, }, { nome: 'Sobreviver por 20 dias', condicao: function(tamagotchi) { return tamagotchi.idade >= 20; }, alcancada: false, }, { nome: 'Manter Feliz por 5 dias', diasFelizes: 0, condicao: function(tamagotchi, meta) { return meta.diasFelizes >= 5; }, alcancada: false, }, ], recompensas: [], }, methods: { alimentar() { this.tamagotchi.fome -= 20; if (this.tamagotchi.fome < 0) { this.tamagotchi.fome = 0; } }, tick() { if (!this.dormindo) { this.tamagotchi.fome = parseFloat(Math.min(100, this.tamagotchi.fome + 1).toFixed(3)); this.tamagotchi.sono = parseFloat(Math.min(100, this.tamagotchi.sono + 1).toFixed(3)); this.tamagotchi.idade = parseFloat((this.tamagotchi.idade + 1).toFixed(3)); } else { this.tamagotchi.sono = parseFloat(Math.max(0, this.tamagotchi.sono - 1).toFixed(3)); this.tamagotchi.fome = parseFloat(Math.min(100, this.tamagotchi.fome + 0.01).toFixed(3)); this.tamagotchi.idade = parseFloat((this.tamagotchi.idade + 0.1).toFixed(3)); } if (this.humor === 'Feliz') { this.metas.forEach(meta => { if (meta.nome === 'Manter Feliz por 5 dias' && !meta.alcancada) { meta.diasFelizes += 1; } }); } this.verificarMetas(); this.atualizarHumor(); }, atualizarHumor() { if (this.tamagotchi.fome > 90 && this.tamagotchi.sono < 20) { this.humor = 'Raiva'; } else if (this.tamagotchi.fome < 20 && this.tamagotchi.sono > 90) { this.humor = 'Medo'; } else if (this.tamagotchi.fome > 80 || this.tamagotchi.sono > 80) { this.humor = 'Triste'; } else if (this.tamagotchi.fome < 20 && this.tamagotchi.sono < 20) { this.humor = 'Feliz'; } else { this.humor = 'Normal'; } this.atualizarEvolucao(); }, atualizarEvolucao() { if (this.tamagotchi.idade > 300 && this.humor === 'Feliz') { this.tamagotchi.evolucao = 'Adulto'; } else if (this.tamagotchi.idade > 100) { this.tamagotchi.evolucao = 'Adolescente'; } else { this.tamagotchi.evolucao = 'Bebê'; } }, verificarMetas: function() { this.metas.forEach(meta => { if (!meta.alcancada && meta.condicao(this.tamagotchi, meta)) { meta.alcancada = true; this.conquistas.push(meta); this.recompensar(meta); } }); }, recompensar: function(meta) { if (meta.nome === 'Sobreviver por 10 dias') { // Adicione a recompensa específica para essa meta // Por exemplo: adicionar um item de personalização exclusivo this.recompensas.push({ nome: 'Item especial', descricao: 'Um item exclusivo .' }); } }, }, mounted() { setInterval(() => { this.tick(); }, 1000); }, });