🚀Ebook - Aprenda Unity: Fundamentos Essenciais - Um Ebook com mais de 900 paginas sobre desenvolvimento na unity 2D e 3D para turbinar o seu aprendizado 🎮amzn.to/3wysrdl
Excelente aula, seria muito interessante se vc fizesse mais um vídeo com esse tema, juntando o conteúdo da aula 4 e 5 com situações diferente e resolvendo o desafio. Ganhou mais um inscrito parceiro
É bem facil de entender você cria um metodo na qual subtraia o valor de vidaAtual com lifePlayer e depois divide: public class Test : MonoBehaviour { int lifePlayer, ActualLife, AttackEnemy; float quatatt; void Start() { lifePlayer = 100; ActualLife = 40; AttackEnemy = 15; quatatt = qtg(lifePlayer, ActualLife, AttackEnemy); Debug.Log(quatatt); } float qtg(float ValorA, int ValorB, float Valor3) { float qA = (ValorA - ValorB) / Valor3; return qA; }
O seu ficou legal, eu fiz todo um calculo matematico no caderno para desenvolvar uma formula para esse "Desafio". O meu é uma versão simplificada do seu hehe, nele você pode definir os valores na propria Engine da Unity. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Desafio : MonoBehaviour {
public int VDP, VDAP, ATK; void Start() { int HitDMG; HitDMG = HitM(VDP, VDAP, ATK); Debug.Log(HitDMG); } int HitM(int VDP, int ATK, int VDAP){ int HitM = VDAP * ATK / VDP; return HitM; } }
Talvez tenha outras formas, mas o meu ficou assim: Using System.Collections; Using System.Collections.Generic; Using UnityEngine; public class TESTES : MonoBehaviour { int maxHp = 100, enemyDmg = 10; void Start() { hitCounter(40) } int hitCounter(int hp) { int HitCounter; int fullDmg; fullDmg = maxHp - hp; hitCounter = fullDmg / enemyDmg; print(hitCounter); return hitCounter; } } Eu acho que me embolei um pouco no return, mas no fim deu certo.
Fazendo de cabeça e no celular, por isso não digitarei tudo e tbm se tiver erro de digitação é por isso Int golpes (int valorgolpe, int valorvida, int valoratual) { Int golpesdados = (valorvida - valoratual) / valorgolpe; Return golpesdados; }
Tentei fazer ate a parte da subtraçao mas esta dando 4 erros que eu n consigo arrumar,e nao sei pq, se eu crio o script com qualquer outro nome a unity nao me deixa dar start no script using System.Collections; using System.Collections.Generic; using UnityEngine; public class variaveis : MonoBehaviour {
Minha resposta para o desafio, deu tudo certo aqui no console: public class Desafiometodo : MonoBehaviour { int LifePlayer = 200, AttackEnemy = 20, LifeAtual = 40, Dano; void Start() { Dano = golpes(LifePlayer, LifeAtual, AttackEnemy); Debug.Log($" Nosso personagem recebeu {Dano} golpes."); } int golpes(int LifePlayer, int LifeAtual, int AttackEnemy) { int result = (LifePlayer - LifeAtual) / AttackEnemy; return result; } }
Professor, eu tenho uma dúvida. Se sem os métodos com retorno, já conseguimos os valores do resultado dos parametros, então por quê, ou melhor para quê, usamos os métodos com retorno?
O método com retorno você já pode utilizar para associar o valor diretamente a uma variável ... Exemplo : vamos supor que temos uma variável " int resultado " e um método com retorno "int Soma()" . Dentro desse método fazemos a soma de variáveis , e podemos associar diretamente o resultado da soma a nossa variável "resultado" .. ex: resultado = Soma() ;
@@CriandoGames Valeu pela resposta, eu ainda me sinto perdido com programação. Eu quero conseguir programar um jogo, mas estou confuso, em como chegar lá, mas ainda assim, eu agradeço demais o tempo pra me responder, obrigado e parabéns pelo trabalho. s2
maneira mais simples de se fazer public class Aula1 : MonoBehaviour { int vidacheia = 100; int attack = 10; void Start() { int vidaatual = 40; int Resultado = (vidacheia - vidaatual) / attack; Debug.Log(Resultado); }
E por que no "int sub" não precisamos colocar na ordem como as dos outros da multiplicação e soma? Se você não entendeu, é que nos outros métodos colocamos "int resultado" e depois colocamos abaixo apenas "resultado" e o valor que queremos soma ou multiplicar. Mas na Subtração colocamos apenas "resultado = valorA - valorB". Se puder pode tirar minha dúvida por favor!
Eu n cossegui fazer o desafio na unity n ta dando resultado so dá resultado na soma e na multiplicação nos q tem return n da resultado(não aparece a soma no console)
Vamos supor que temos uma variável qualquer do tipo int chamada "resultado" , e um método com retorno do tipo int chamado "soma(int a, int b ) " ... Você vai fazer resultado receber o retorno do método soma ou seja .. resultado = soma(10,20) ; Print(resultado);
Fiz assim e resultou! { int vidaPlayer = 100; int danoInimigo = 10; int vidaRestante = 40; int numeroAtaques; void Start() { numeroAtaques = ContagemAtaques(numeroAtaques, vidaPlayer, vidaRestante, danoInimigo); Debug.Log(numeroAtaques); } int ContagemAtaques(int valorA, int valorB, int valorC, int valorD) { valorA = (valorB - valorC) / valorD; return valorA; // valorB - valorC = quanto de dano causou o inimigo // dividir pelo valorD reparte o dano } }
O meu ficou assim: public class Variáveis : MonoBehaviour { int vidaPlayer = 100, atackEnemy = 10, vidaAtual; int danoMulti = 6; void Start() { vidaAtual = atackSystem(vidaPlayer, atackEnemy, danoMulti); Debug.Log(vidaAtual); } // Update is called once per frame void Update() { } int atackSystem(int valorA,int valorB, int valorC) { int resultadoatack = valorA - valorB * valorC; return resultadoatack; } }
Olá amigo, sim, eu recomendo você acompanhas algumas aulas e depois ver a série criando um game 2d aqui do canal também, que lá você vai poder aplicar na prática
aula muito boa eu fiz o desafio da seguinte maneira. public class Variaveis : MonoBehaviour { void Start() { int quantAtaque = sub(100, 80, 10); Debug.Log($"Você foi atacado, {quantAtaque} vezes."); } void Update() { } int sub(int vidaPersonagem, int vidaAtual, int forca) { int dano = vidaPersonagem - vidaAtual; dano /= forca; return dano; } }
O método com retorno tem como intuito retornar alguma informação quando ele é chamado!!! Você pode por exemplo criar uma variável do tipo int chamada "resultado" .. e um método do tipo int que calcula a soma de dois números do tipo e retorna esse valor da soma. Vamos supor que o nome desse método é Soma() , então você pode associar esse método a variável "resultado" .. exemplo : resultado = Soma (); Como o metodo possui um retorno , que no caso é do tipo inteiro , a variável resultado vai receber esse retorno do método :) ... Espero que tenha entendido
Fiquei mais de uma hora tentando arrumar o problema do Visual Studio que não completa os termos em nenhum Script. Mas consegui. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Dever1 : MonoBehaviour { int playerLife = 100, currentLife = 40, enemyAttack = 10; void Start() { attackTimes(playerLife, currentLife, enemyAttack); Debug.Log(attackTimes(playerLife, currentLife, enemyAttack)); } void Update() { } int attackTimes(int ValorA, int ValorB, int ValorC) { int Times = (ValorA - ValorB) / ValorC; return Times; } }
Eu fiz assim: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Desafio : MonoBehaviour { int VidaAtual, DanoEnemy, VidaRetirada; public int VidaPlayer, QuantidadeDeGolpes, DanoDoInimigo; // Start is called before the first frame update void Start() { DanoCausado(QuantidadeDeGolpes); VidaRetirada = DanoCausado(QuantidadeDeGolpes); Debug.Log("Vida do jogador:"); Debug.Log(VidaPlayer); Debug.Log("Dano causado: "); Debug.Log(DanoEnemy); Debug.Log("Vida atual após o dano:"); Debug.Log(VidaRetirada); Debug.Log("Golpes desferidos: "); Debug.Log(QuantidadeDeGolpes); } // Update is called once per frame void Update() {
} int DanoCausado(int Golpes) { QuantidadeDeGolpes = Golpes; Golpes = Golpes * DanoDoInimigo; DanoEnemy = Golpes; VidaAtual = VidaPlayer; VidaAtual = VidaAtual - DanoEnemy; return VidaAtual; } } Utilizei um dos conhecimentos que tinha sobre o "Public" para fazer três variáveis publicas que poderiam ser alteradas dentro do componente do objeto, ou seja, a pessoa poderia definir a vida do jogador, a quantidade de golpes, e o dano que o inimigo iria causar. OBS..: Eu sei que não fazia parte do desafio, mas, eu gostei de dar uma variada, e isso pode me ajudar bastante. OBS²..: Ele se consiste ne um programa que define a vida do jogador, a quantidade de golpes, e o dano do inimigo. OBS³..: Ele apenas retorna o valor da vida retirada após o dano, pois para retornar as outras propriedades, eu precisaria criar 4 métodos (eu acho), o que seria algo grande para algo em que você simplesmente pode pegar a variável de um método. (Exemplo) OUTPUT: VidaPlayer: 250 DanoDoInimigo: 25 QuantidadeDeGolpes: 3 >> Vida do jogador: >> 250 >> Dano causado: >> 75 >> Vida atual: >> 175 >> Golpes desferidos: >> 3
Por exemplo Qual a necessidade de mudar o nome da variável ao invés de apenas escrever o nome da variável Exemplo Ai ao invés de vc escrever Número1= Número1 + X Vc escreve Número1 = Número Número= Número + X É igual, porém com uma linha a mais Isso faria sentido se vc quisesse armazenar o valor em uma variável, por exemplo Você tem uma senha e quer mudar ela Vc coloca ela em uma variável separada por segurança Mas nesse caso é desnecessário Mas fora isso o código ta correto
então método com retorno é uma forma de te dar apenas 1 resultado final? N da pra fazer isso com o método sem retorno também? e se da, qual a diferença de fazer com um ou com outro no resultado final? Sempre me confundo nessa parte
O método com retorno, te retorna um tipo de informação que pode ser associado a uma variável que seja do mesmo tipo do retorno. Utilizando o método normal sem retorno não é possível fazer isso. Com essa variável que recebeu o retorno do método, você pode fazer várias outras coisas.
O meu ficou desse jeito: public class Test : MonoBehaviour { int vidaPlayer = 100, attackEnemy = 10, vidaAtual, golpesRecebidos; // Start is called before the first frame update void Start() { vidaAtual = 40; golpesRecebidos = golpes(vidaPlayer, attackEnemy, vidaAtual); print("O seu personagem recebeu " + golpesRecebidos + " ataques"); } // Update is called once per frame void Update() {
} int golpes (int valorA, int valorB, int valorC) { int golpes =(valorA - valorC)/ valorB; return golpes; } }
using System.Collections; using System.Collections.Generic; using UnityEngine; public class desafio : MonoBehaviour { int vidaplayer = 100, danoenemy = 10; int vidarestante = 40;
void Start() {
int hitsrecebidos = hitt(100,40); int golpes = hitsrecebidos / 10; Debug.Log(golpes); }
void Update() {
} int hitt(int vida, int dano) { return vida - dano; }
esse é o meu codigo me retornando o valor 6 no console, seria isso?
alguem consegue me explicar o que esta dando de errado neste codigo? int VidaTotal = 100; int VidaAtual; int AtaqueInimigo = 10; int Golpes; void Start() { VidaAtual = 60; Golpes = ataques(VidaTotal, VidaAtual, AtaqueInimigo); Debug.Log(Golpes); } void Update() {
} int ataques(int totalhp, int atualhp, int ataque) { int danorecebido = (totalhp - atualhp)/ataque; return danorecebido; }
Man, teu código ta CERTINHO... Você jogou o código dentro do MainCamera no unity? Pois se você não fez isso, o negócio não vai rodar. Eu joguei esse mesmo código no MainCamera e funcionou sem problema nenhum.
O meu ficou assim, mas continua dando erro, alguém ajuda? { int vidaPlayer = 100, atackEnemy = 10, vidaAtual, resultadodesafio; vidaAtual = 40; void Start() { vidaAtual = 40; resultadodesafio = desafio(vidaPlayer,vidaAtual,atackEnemy); Debug.Log(resultadodesafio); } void Update() { } int desafio(int A, int B, int C) { int resultadodesafio; resultadodesafio = (A - B) / C; return resultadodesafio; } }
} int damagetanken(int playerLife, int enemyAtack, int life) { int damagetanken =(playerLife - life/ enemyAtack); return damage; } } e o meu ficou assim, errei bastante, mas fui olhando os videos e procurando na net e fui entendo mais um pouco, nunca tinha mexido com programação antes heuehuehue
o meu ficou assim using System.Collections; using System.Collections.Generic; using UnityEngine; public class Variaveis : MonoBehaviour { int vidaplayer, vidaatual, inimigodano, hits; void Start() { vidaplayer = 200; vidaatual = 20; inimigodano = 10; hits = hitsrecebidos(vidaplayer, vidaatual, inimigodano); UnityEngine.Debug.Log(hits); } int hitsrecebidos(int vv1, int vv2, int vv3) { int v1 = vv1 - vv2; int r1 = v1 / vv3; return (r1); } }
Dei uma trabalhada a mais, criei outras coisas que ainda não tem funcionalidade, mas quem quiser pode tentar!!! using System.Collections; using System.Collections.Generic; using UnityEngine; public class aula : MonoBehaviour { public int VidaDoPlayer, ForçaDoPlayer , DefesaDoPlayer; public int VidaDoInimigo, ForçaDoInimigo, DefesaDoInimigo; public int QuantidadeDeGolpes; int HP, STR, DEF; int IAHP, IASTR, IADEF; int IAdamage, HPdamage; // O Start é chamado antes da atualização do primeiro quadro void Start() { DanoCausado(QuantidadeDeGolpes); HPdamage = IAdamage; Debug.Log("Vida do Personagem: "); Debug.Log(VidaDoPlayer); Debug.Log("Dano recebido: "); Debug.Log(HPdamage); Debug.Log("Vida após o dano: "); Debug.Log(HP); Debug.Log("Golpes recebidos: "); Debug.Log(QuantidadeDeGolpes); } // O Update é chamada uma vez por quadro void Update() {
} public int DanoCausado(int QuantidadeDeGolpes) { IAdamage = QuantidadeDeGolpes * ForçaDoInimigo - DefesaDoPlayer; if(IAdamage
Minha solução: int vidaPlayer = 100, attackEnemy = 5, vidaAtual; void Start() { vidaAtual = 35; int numeroAtaques = CalculaAtk(vidaPlayer, vidaAtual, attackEnemy); Debug.Log(numeroAtaques); // No caso criei a variavel numeroAtaques como local mas voce tbm pode declarar no escopo global } void Update() {...} int CalculaAtk (int vidaPlayer, int vidaAtual, int attackEnemy) { return (vidaPlayer - vidaAtual) / attackEnemy; }
O meu ficou assim: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Variáveis02 : MonoBehaviour { int numero1, numero2, resultadoSub; int vidaPlayer = 100, attackEnemy = 10, vidaAtual, resultadoPerdeu; // void é normalmente usado quando um método não tem retorno void Start() { vidaAtual = 40; numero1 = 10; numero2 = 20; Soma(); multiplicação(numero1 , numero2); resultadoSub = sub(numero1, numero2); Debug.Log(resultadoSub); resultadoPerdeu = quantoPerdeu(vidaPlayer, vidaAtual); Debug.Log(resultadoPerdeu); } void Update() { } void Soma() { int resultado; //use "+" para fazer uma adição resultado = numero1 + numero2; Debug.Log(resultado); } void multiplicação(int valorA, int valorB) { int resultado; //use "*" para fazer multiplicações. resultado = valorA * valorB; Debug.Log(resultado); } int sub(int valorC, int valorD) { int resultado = valorD - valorC; return resultado; } int quantoPerdeu(int Vida, int vidaAtual) { int resultado = Vida - vidaAtual; return resultado; } }
Ola pode me dizer se a forma de execução do meu metodo está correta? Na Unity imprimiu o resultado de 40 como "Vida atual" { int vidaPlayer, atackEnemy, vidaAtual; void Start() { vidaPlayer = 100; atackEnemy = 10; vidaAtual = sub(vidaPlayer, atackEnemy); Debug.Log(vidaAtual);
}
void Update() {
} int sub(int vlA, int VlB) { int resultado = vlA - VlB * 6; return resultado; } }
Minha resposta para o desafio é int vidaMxima = 100, atkEnemy = 10, vidaAtual;
void Start() { vidaAtual = vidaMxima; //a vida atual vai estar ligada a vida maxima }
void Update() { //a vida atual vai receber dano do inimigo (vida maxima/atual - 10 de dano) vidaAtual -= atkEnemy; Debug.Log("Sua vida atual é" + vidaAtual); if(vidaAtual
demorei 1 ou 2 dias pra entender mas fico assim kk public class tarefa : MonoBehaviour { int vidaplayer = 100, vidaAtual = 30, ataqueinimi = 10, golpes;
Calma po kkkk eh so tu pergunta que vamo te explicar :). Se tiver alguma ou várias dúvidas, pergunte independente se for muitas ou não, o importante é resolve-las! Pode mandar bala.
using System.Collections; using System.Collections.Generic; using UnityEngine; public class variave : MonoBehaviour { int totalHealthPlayer, attackEnemy, atualHealthPlayer, numberAttacks; void Start() { totalHealthPlayer = 10; attackEnemy = 3; atualHealthPlayer = 1; numberAttacks = TotalAttacks(totalHealthPlayer, atualHealthPlayer, attackEnemy); Debug.Log(numberAttacks); } void Update() { } int TotalAttacks(int x, int y, int z) { int lesshealth = x - y; int numberAttacks = lesshealth / z; return numberAttacks; } }
} int subPerdevidas(int valorA, int ValorB, int ValorC) { int golpes; golpes = (valorA - ValorB) / ValorC; Debug.Log(golpes); return golpes; } } esta feito só que n debugando console, se algm me ajudar ficarei grato. Otima aula
PORRA QUE ÓDIO EU FIQUEI VARIOS DIAS FAZENDO VARIOS CÓDIGO PRA ACERTA O EXERCÍCIOS E A LOGICA TAVA CERTA FOI SÓ EU EXCLUIR A BOSTA DO RETURN E BOTAR TUDO NO START QUE FUNCIONOU, QUE ÓDIO, QUE CERTEZA QUE DOS OUTROS JEITOS QUE FIZ TANBEM IA FUNCIONAR
Professor preciso de ajuda urgente, já procurei e não encontro o porque o valor não está sendo impresso, estou a 1 hora e meia tentando resolver, segue o código de exemplo >>> (DETALHE: NÃO APARECE ERRO NENHUM, TANTO É QUE, OS VALORES DOS EXERCICIOS ANTERIORES CONTINUAM SENDO IMPRESSOS.) public class estudodecaso : MonoBehaviour { // Start is called before the first frame update
int VidaPlayer=100, Atack=10, VidaAtual, numeroDeGolpes;
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Desafio : MonoBehaviour { int vidaPlayer = 100; int AtaqueInimigo = 10; int vidaAtual; int golpes; void Start() { vidaAtual = 1; golpes = GolpesSofridos(vidaPlayer, vidaAtual, AtaqueInimigo); Debug.Log(golpes); } void Update() {
} int GolpesSofridos(int VidaPlayer, int VidaAtual, int ataqueInimigo) { int resultado = vidaPlayer - VidaAtual; resultado = resultado / ataqueInimigo; return resultado; } }
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Variaveis : MonoBehaviour { int numero1; int numero2; int resultadosub; int vidaPlayer =100; int ATAQUE = 10; int VidaAtual =20; int numerodeataques;
🚀Ebook - Aprenda Unity: Fundamentos Essenciais - Um Ebook com mais de 900 paginas sobre desenvolvimento na unity 2D e 3D para turbinar o seu aprendizado 🎮amzn.to/3wysrdl
é de sua autoria esse ebook?
eu sempre riu na parte simples assim... (meu cérebro discordando o tempo todo) hahahhaha. Mas estou me esforçando pra aprender. Excelente aula.
Hahaha, espero que aprenda bastante com o conteúdo do canal
@GAME PRAY RSRSRSRSRSR NE
Excelente aula, seria muito interessante se vc fizesse mais um vídeo com esse tema, juntando o conteúdo da aula 4 e 5 com situações diferente e resolvendo o desafio. Ganhou mais um inscrito parceiro
Muito obrigado :) , mais a frente eu vou fazer vídeo aulas juntando o conteúdo que a gente aprendeu , vai ser bem bacana :)
melhor tutorial de C# para unity3d
muito boa explicação
É bem facil de entender você cria um metodo na qual subtraia o valor de vidaAtual com lifePlayer e depois divide:
public class Test : MonoBehaviour
{
int lifePlayer, ActualLife, AttackEnemy;
float quatatt;
void Start()
{
lifePlayer = 100;
ActualLife = 40;
AttackEnemy = 15;
quatatt = qtg(lifePlayer, ActualLife, AttackEnemy);
Debug.Log(quatatt);
}
float qtg(float ValorA, int ValorB, float Valor3)
{
float qA = (ValorA - ValorB) / Valor3;
return qA;
}
}
O seu ficou legal, eu fiz todo um calculo matematico no caderno para desenvolvar uma formula para esse "Desafio". O meu é uma versão simplificada do seu hehe, nele você pode definir os valores na propria Engine da Unity.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Desafio : MonoBehaviour
{
public int VDP, VDAP, ATK;
void Start()
{
int HitDMG;
HitDMG = HitM(VDP, VDAP, ATK);
Debug.Log(HitDMG);
}
int HitM(int VDP, int ATK, int VDAP){
int HitM = VDAP * ATK / VDP;
return HitM;
}
}
Vlw cara por compartilhar conhecimento com a gente você e show
Parabéns pela aula está me ajudando muuuitooo!!!
Talvez tenha outras formas, mas o meu ficou assim:
Using System.Collections;
Using System.Collections.Generic;
Using UnityEngine;
public class TESTES : MonoBehaviour
{
int maxHp = 100, enemyDmg = 10;
void Start()
{
hitCounter(40)
}
int hitCounter(int hp)
{
int HitCounter;
int fullDmg;
fullDmg = maxHp - hp;
hitCounter = fullDmg / enemyDmg;
print(hitCounter);
return hitCounter;
}
}
Eu acho que me embolei um pouco no return, mas no fim deu certo.
Ksk nss nunca vi uma explicação de script tão ótima, nas 4 aulas passadas entendi tudinho oq vc explicou 👌
Fiz o mais feio, mas deu certo hahaha
int vidaPlayer = 100, atackEnemy = 10, vidaAtual;
void Start()
{
vidaAtual = 40;
contagem();
}
void contagem()
{
int resultado;
resultado = (vidaPlayer - vidaAtual) / atackEnemy;
Debug.Log(resultado);
}
Aula incrível! Esse exercício que você propôs foi muito interessante e achei bem divertido de resolve-lo, me ajudou bastante mesmo! Parabéns irmão!
Fazendo de cabeça e no celular, por isso não digitarei tudo e tbm se tiver erro de digitação é por isso
Int golpes (int valorgolpe, int valorvida, int valoratual)
{
Int golpesdados = (valorvida - valoratual) / valorgolpe;
Return golpesdados;
}
Cara muito legal essas aulas estou fazendo junto
Tentei fazer ate a parte da subtraçao mas esta dando 4 erros que eu n consigo arrumar,e nao sei pq, se eu crio o script com qualquer outro nome a unity nao me deixa dar start no script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class variaveis : MonoBehaviour
{
int numero1, numero2, resultuadoSub;
void Start()
{
numero1 = 10;
numero2 = 20;
soma();
multiplicasao(numero1, numero2);
resultuadoSub = sub(numero1, numero2);
Debug.Log(resultuadoSub);
}
void Update()
{
}
void soma()
{
int resultado;
resultado = numero1 + numero2;
Debug.Log(resultado);
}
void multiplicasao(int valorA ,int valorB)
{
int resultado;
resultado = valorA * valorB;
Debug.Log(resultado);
}
int sub(int valorA,int valorB);
{
int resultado = valorB - valorA;
return resultado;
}
}
Minha resposta para o desafio, deu tudo certo aqui no console:
public class Desafiometodo : MonoBehaviour
{
int LifePlayer = 200, AttackEnemy = 20, LifeAtual = 40, Dano;
void Start()
{
Dano = golpes(LifePlayer, LifeAtual, AttackEnemy);
Debug.Log($" Nosso personagem recebeu {Dano} golpes.");
}
int golpes(int LifePlayer, int LifeAtual, int AttackEnemy)
{
int result = (LifePlayer - LifeAtual) / AttackEnemy;
return result;
}
}
que legal, fiquei pensando como eu faria pra fazer essa divisão, me ajudou muito esse comentário
+1LIKE!
Tentei otimizar o máximo possível kk
public class Variáveis : MonoBehaviour
{
int lifePlayer, atackEnemy, lifeActual;
void Start()
{
lifePlayer = (100);
atackEnemy = (10);
lifeActual = (40);
quantidadeDeGolpes();
}
void quantidadeDeGolpes()
{
int qtg = (lifePlayer - lifeActual) / atackEnemy;
print(qtg);
}
}
E cadê o retorno?
man, no meu eu to escrevendo tudo certinho e n ta dando erro e msm assim n ta aparecendo a soma ou multiplicação
Com esses codigos que voçe vai mostrando ao longo da serie, com mudificaoes ideais, e possivel fazer um jogo de aviao?
Não e tão rapido assim mas fica acompanhando os videos e aprendendo que vc vai entendendo mais.
Professor, eu tenho uma dúvida.
Se sem os métodos com retorno, já conseguimos os valores do resultado dos parametros, então por quê, ou melhor para quê, usamos os métodos com retorno?
O método com retorno você já pode utilizar para associar o valor diretamente a uma variável ... Exemplo : vamos supor que temos uma variável " int resultado " e um método com retorno "int Soma()" . Dentro desse método fazemos a soma de variáveis , e podemos associar diretamente o resultado da soma a nossa variável "resultado" .. ex: resultado = Soma() ;
@@CriandoGames Valeu pela resposta, eu ainda me sinto perdido com programação. Eu quero conseguir programar um jogo, mas estou confuso, em como chegar lá, mas ainda assim, eu agradeço demais o tempo pra me responder, obrigado e parabéns pelo trabalho. s2
fred to usando a versao unity 5.6 é a unica q roda no meu pc seria melhor eu ficar com ela msm ou trocar e dar um up no pc
maneira mais simples de se fazer
public class Aula1 : MonoBehaviour
{
int vidacheia = 100;
int attack = 10;
void Start()
{
int vidaatual = 40;
int Resultado = (vidacheia - vidaatual) / attack;
Debug.Log(Resultado);
}
void Update()
{
}
}
Professor por que temos que colocar o "resultadoSub" na classe "int"?
E por que no "int sub" não precisamos colocar na ordem como as dos outros da multiplicação e soma? Se você não entendeu, é que nos outros métodos colocamos "int resultado" e depois colocamos abaixo apenas "resultado" e o valor que queremos soma ou multiplicar. Mas na Subtração colocamos apenas "resultado = valorA - valorB". Se puder pode tirar minha dúvida por favor!
public class Desafios : MonoBehaviour
{
int vidaPlayer = 3600, atackEnemy = 20, vidaAtual, atackrecebido;
void Start()
{
vidaAtual = 460;
atackrecebido = danotomado(vidaPlayer,atackEnemy,vidaAtual);
Debug.Log(atackrecebido);
}
void Update()
{
}
int danotomado(int vidaPlayer, int atackEnemy, int vidaAtual)
{
int resultado;
resultado = (vidaPlayer - vidaAtual) / atackEnemy;
return resultado;
}
foi meu primeiro desafio, achei muito maneiro que consegui resolver
Eu n cossegui fazer o desafio na unity n ta dando resultado so dá resultado na soma e na multiplicação nos q tem return n da resultado(não aparece a soma no console)
Nós métodos com retorno , você tem que atribuir o retorno a alguma variável , e printar essa variável que recebe o retorno do método
Tipo usar o Debug.Log?
Vamos supor que temos uma variável qualquer do tipo int chamada "resultado" , e um método com retorno do tipo int chamado "soma(int a, int b ) " ... Você vai fazer resultado receber o retorno do método soma ou seja .. resultado = soma(10,20) ;
Print(resultado);
using System;
class teste
{
int vidaPlayer = 100, atackEnemy = 10, vidaRestante = 40;;
int resultado, golpes;
void start(){
resultado = vidaPlayer - vidaRestante;
atkRecebidos();
}
int atkRecebidos(){
Debug.Log(golpes = resultado / atackEnemy);
}
}
fiz assim, foi oque minha cabeça pensou.
o meu ta dando erro no Debug.log error cs0117. Alquem sabe como arrumar?
Fiz assim e resultou!
{
int vidaPlayer = 100;
int danoInimigo = 10;
int vidaRestante = 40;
int numeroAtaques;
void Start()
{
numeroAtaques = ContagemAtaques(numeroAtaques, vidaPlayer, vidaRestante, danoInimigo);
Debug.Log(numeroAtaques);
}
int ContagemAtaques(int valorA, int valorB, int valorC, int valorD)
{
valorA = (valorB - valorC) / valorD;
return valorA;
// valorB - valorC = quanto de dano causou o inimigo
// dividir pelo valorD reparte o dano
}
}
O conceito de método lembra o de uma função.
Básicamente é a mesma coisa , as funções de uma classe aqui em c# são chamadas de métodos :)
@@CriandoGames fred to usando a versao unity 5.6 é a unica q roda no meu pc seria melhor eu ficar com ela msm ou trocar e dar um up no pc
Pq no scrpts de algns teve que dividir os valores? Achei que era só pra retornar o valor em danos.
Bom isso vai depender de como a galera fez , tem n formas de fazer
O meu ficou assim:
public class Variáveis : MonoBehaviour
{
int vidaPlayer = 100, atackEnemy = 10, vidaAtual;
int danoMulti = 6;
void Start()
{
vidaAtual = atackSystem(vidaPlayer, atackEnemy, danoMulti);
Debug.Log(vidaAtual);
}
// Update is called once per frame
void Update()
{
}
int atackSystem(int valorA,int valorB, int valorC)
{
int resultadoatack = valorA - valorB * valorC;
return resultadoatack;
}
}
o meu eu fiz duas vezes, uma pra subtrair e outra pra dividir, mas deu o mesmo resultado🤡
Fred,devo praticar na unity as aulas?
Olá amigo, sim, eu recomendo você acompanhas algumas aulas e depois ver a série criando um game 2d aqui do canal também, que lá você vai poder aplicar na prática
@@CriandoGames se eu devo assistir algumas aulas e ver a série para praticar, até que aula eu assisto?
@@CriandoGames quais aulas eu devo assistir,ou até qual?
aula muito boa eu fiz o desafio da seguinte maneira.
public class Variaveis : MonoBehaviour
{
void Start()
{
int quantAtaque = sub(100, 80, 10);
Debug.Log($"Você foi atacado, {quantAtaque} vezes.");
}
void Update()
{
}
int sub(int vidaPersonagem, int vidaAtual, int forca)
{
int dano = vidaPersonagem - vidaAtual;
dano /= forca;
return dano;
}
}
E se eu tivesse 3 numeros ( numero1,numero2 e número3 ) e quisesse subtrair só o numero1 e numero2 e depois subtrair o resultado com o numero 3
int VidaPlayer = 100, ataqueinimi = 10, vidaatual;
int volta;
Void Start()
{
vidaatual = 50;
volta = atividade(vidaatual, ataqueinimi);
}
atividade(vidaatual, ataqueinimi, VidaPlayer)
{
int resultado = VidaPlayer - vidaatual - ataqueinimi;
return resultado;
}
Bizarro
como assim retorno? nao entendi muito pra que q serve
O método com retorno tem como intuito retornar alguma informação quando ele é chamado!!! Você pode por exemplo criar uma variável do tipo int chamada "resultado" .. e um método do tipo int que calcula a soma de dois números do tipo e retorna esse valor da soma. Vamos supor que o nome desse método é Soma() , então você pode associar esse método a variável "resultado" .. exemplo : resultado = Soma ();
Como o metodo possui um retorno , que no caso é do tipo inteiro , a variável resultado vai receber esse retorno do método :) ... Espero que tenha entendido
Pode me ajudar, eu tentei usar o while pra fazer o desafio, agora o jogo não tá iniciando tá eternamente carregando
Eu fiz tipo;
While(vida != Vida atual)
{
Vida - dano;
}
Ele tá em loop pois ele não sai do while. Se você não criar uma lógica para que o while pare de ser executado em algum momento, ele ficará em loop.
@@CriandoGames um else resolveria ?
Fiquei mais de uma hora tentando arrumar o problema do Visual Studio que não completa os termos em nenhum Script. Mas consegui.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Dever1 : MonoBehaviour
{
int playerLife = 100, currentLife = 40, enemyAttack = 10;
void Start()
{
attackTimes(playerLife, currentLife, enemyAttack);
Debug.Log(attackTimes(playerLife, currentLife, enemyAttack));
}
void Update()
{
}
int attackTimes(int ValorA, int ValorB, int ValorC)
{
int Times = (ValorA - ValorB) / ValorC;
return Times;
}
}
Eu fiz assim:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Desafio : MonoBehaviour
{
int VidaAtual, DanoEnemy, VidaRetirada;
public int VidaPlayer, QuantidadeDeGolpes, DanoDoInimigo;
// Start is called before the first frame update
void Start()
{
DanoCausado(QuantidadeDeGolpes);
VidaRetirada = DanoCausado(QuantidadeDeGolpes);
Debug.Log("Vida do jogador:");
Debug.Log(VidaPlayer);
Debug.Log("Dano causado: ");
Debug.Log(DanoEnemy);
Debug.Log("Vida atual após o dano:");
Debug.Log(VidaRetirada);
Debug.Log("Golpes desferidos: ");
Debug.Log(QuantidadeDeGolpes);
}
// Update is called once per frame
void Update()
{
}
int DanoCausado(int Golpes)
{
QuantidadeDeGolpes = Golpes;
Golpes = Golpes * DanoDoInimigo;
DanoEnemy = Golpes;
VidaAtual = VidaPlayer;
VidaAtual = VidaAtual - DanoEnemy;
return VidaAtual;
}
}
Utilizei um dos conhecimentos que tinha sobre o "Public" para fazer três variáveis publicas que poderiam ser alteradas dentro do componente do objeto, ou seja, a pessoa poderia definir a vida do jogador, a quantidade de golpes, e o dano que o inimigo iria causar.
OBS..: Eu sei que não fazia parte do desafio, mas, eu gostei de dar uma variada, e isso pode me ajudar bastante.
OBS²..: Ele se consiste ne um programa que define a vida do jogador, a quantidade de golpes, e o dano do inimigo.
OBS³..: Ele apenas retorna o valor da vida retirada após o dano, pois para retornar as outras propriedades, eu precisaria criar 4 métodos (eu acho), o que seria algo grande para algo em que você simplesmente pode pegar a variável de um método.
(Exemplo) OUTPUT:
VidaPlayer: 250
DanoDoInimigo: 25
QuantidadeDeGolpes: 3
>> Vida do jogador:
>> 250
>> Dano causado:
>> 75
>> Vida atual:
>> 175
>> Golpes desferidos:
>> 3
obg mano tava travado nessa parte, dei uma estudada no seu codigo e consegui entender
Se vc continou estudando, vc consegue ver q esse código tem muitas lógicas repetidas, esse código ta enorme desnecessariamente
Por exemplo
Qual a necessidade de mudar o nome da variável ao invés de apenas escrever o nome da variável
Exemplo
Ai ao invés de vc escrever
Número1= Número1 + X
Vc escreve
Número1 = Número
Número= Número + X
É igual, porém com uma linha a mais
Isso faria sentido se vc quisesse armazenar o valor em uma variável, por exemplo
Você tem uma senha e quer mudar ela
Vc coloca ela em uma variável separada por segurança
Mas nesse caso é desnecessário
Mas fora isso o código ta correto
então método com retorno é uma forma de te dar apenas 1 resultado final? N da pra fazer isso com o método sem retorno também? e se da, qual a diferença de fazer com um ou com outro no resultado final? Sempre me confundo nessa parte
O método com retorno, te retorna um tipo de informação que pode ser associado a uma variável que seja do mesmo tipo do retorno. Utilizando o método normal sem retorno não é possível fazer isso. Com essa variável que recebeu o retorno do método, você pode fazer várias outras coisas.
O meu ficou desse jeito:
public class Test : MonoBehaviour
{
int vidaPlayer = 100, attackEnemy = 10, vidaAtual, golpesRecebidos;
// Start is called before the first frame update
void Start()
{
vidaAtual = 40;
golpesRecebidos = golpes(vidaPlayer, attackEnemy, vidaAtual);
print("O seu personagem recebeu " + golpesRecebidos + " ataques");
}
// Update is called once per frame
void Update()
{
}
int golpes (int valorA, int valorB, int valorC)
{
int golpes =(valorA - valorC)/ valorB;
return golpes;
}
}
Parece tão simples, mas meu cérebro simplesmente trava ao tentar fazer T.T
Vou ter de assistir a aula mais algumas vezes pelo visto...
int vidaMax = 100, ataque = 10, vidaAtual = 40, numGolpes;
void Start()
{
numGolpes = ataques(vidaMax, ataque, vidaAtual);
Debug.Log(numGolpes);
}
int ataques(int A,int B,int C)
{
int quantGolpes = (A - C) / B;
return quantGolpes;
}
void Update()
{
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class desafio : MonoBehaviour
{
int vidaplayer = 100, danoenemy = 10;
int vidarestante = 40;
void Start()
{
int hitsrecebidos = hitt(100,40);
int golpes = hitsrecebidos / 10;
Debug.Log(golpes);
}
void Update()
{
}
int hitt(int vida, int dano)
{
return vida - dano;
}
esse é o meu codigo me retornando o valor 6 no console, seria isso?
Fiz assim (os "//" são as linhas de código das aulas)
int vidaPlayer = 100, attackEnemy = 10, vidaAtual = 10;
void Start()
{
//numero1 = 10;
//numero2 = 20;
//soma();
//multiplicacao(numero1,numero2);
//resultadoSub = sub( numero1, numero2);
//Debug.Log(resultadoSub);
dano(vidaPlayer, vidaAtual, attackEnemy);
}
void Update()
{
}
//void soma()
{
int resultado;
resultado = numero1 + numero2;
Debug.Log(resultado);
}
//void multiplicacao(int valorA, int valorB)
{
int resultado;
resultado = valorA * valorB;
Debug.Log(resultado);
}
//int sub(int valorA,int valorB)
{
int resultado = valorB - valorA;
return resultado;
}
void dano(int valorA, int valorB, int valorC)
{
int dano;
dano = (vidaPlayer - vidaAtual)/attackEnemy;
Debug.Log(dano);
alguem consegue me explicar o que esta dando de errado neste codigo?
int VidaTotal = 100;
int VidaAtual;
int AtaqueInimigo = 10;
int Golpes;
void Start()
{
VidaAtual = 60;
Golpes = ataques(VidaTotal, VidaAtual, AtaqueInimigo);
Debug.Log(Golpes);
}
void Update()
{
}
int ataques(int totalhp, int atualhp, int ataque)
{
int danorecebido = (totalhp - atualhp)/ataque;
return danorecebido;
}
Man, teu código ta CERTINHO... Você jogou o código dentro do MainCamera no unity? Pois se você não fez isso, o negócio não vai rodar. Eu joguei esse mesmo código no MainCamera e funcionou sem problema nenhum.
int vidaPlayer, atackEnemy, vidaAtual, qdg;
void Start()
{
vidaPlayer = 100;
atackEnemy = 10;
vidaAtual = 40;
qdg = quantidadeDeAtaques(vidaPlayer, vidaAtual, atackEnemy);
Debug.Log(qdg);
}
int quantidadeDeAtaques(int vp, int va, int ae){
int resultado = (vp - va)/ae;
return resultado;
}
O meu ficou assim, mas continua dando erro, alguém ajuda?
{
int vidaPlayer = 100, atackEnemy = 10, vidaAtual, resultadodesafio;
vidaAtual = 40;
void Start()
{
vidaAtual = 40;
resultadodesafio = desafio(vidaPlayer,vidaAtual,atackEnemy);
Debug.Log(resultadodesafio);
}
void Update()
{
}
int desafio(int A, int B, int C)
{
int resultadodesafio;
resultadodesafio = (A - B) / C;
return resultadodesafio;
}
}
Tira o "vidaAtual = 40", que esta de baixo do int global
{
int playerLife = 100, enemyAtack = 10, life, damage;
void Start()
{
life= 20;
damage = damagetanken(playerLife, enemyAtack, life);
Debug.Log(damage);
}
void Update()
{
}
int damagetanken(int playerLife, int enemyAtack, int life)
{
int damagetanken =(playerLife - life/ enemyAtack);
return damage;
}
}
e o meu ficou assim, errei bastante, mas fui olhando os videos e procurando na net e fui entendo mais um pouco, nunca tinha mexido com programação antes heuehuehue
não entendi direito o desafio alguem poderia explicar melhor?
o meu ficou assim
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Variaveis : MonoBehaviour
{
int vidaplayer, vidaatual, inimigodano, hits;
void Start()
{
vidaplayer = 200;
vidaatual = 20;
inimigodano = 10;
hits = hitsrecebidos(vidaplayer, vidaatual, inimigodano);
UnityEngine.Debug.Log(hits);
}
int hitsrecebidos(int vv1, int vv2, int vv3)
{
int v1 = vv1 - vv2;
int r1 = v1 / vv3;
return (r1);
}
}
Dei uma trabalhada a mais, criei outras coisas que ainda não tem funcionalidade, mas quem quiser pode tentar!!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class aula : MonoBehaviour
{
public int VidaDoPlayer, ForçaDoPlayer , DefesaDoPlayer;
public int VidaDoInimigo, ForçaDoInimigo, DefesaDoInimigo;
public int QuantidadeDeGolpes;
int HP, STR, DEF;
int IAHP, IASTR, IADEF;
int IAdamage, HPdamage;
// O Start é chamado antes da atualização do primeiro quadro
void Start()
{
DanoCausado(QuantidadeDeGolpes);
HPdamage = IAdamage;
Debug.Log("Vida do Personagem: "); Debug.Log(VidaDoPlayer);
Debug.Log("Dano recebido: "); Debug.Log(HPdamage);
Debug.Log("Vida após o dano: "); Debug.Log(HP);
Debug.Log("Golpes recebidos: "); Debug.Log(QuantidadeDeGolpes);
}
// O Update é chamada uma vez por quadro
void Update()
{
}
public int DanoCausado(int QuantidadeDeGolpes)
{
IAdamage = QuantidadeDeGolpes * ForçaDoInimigo - DefesaDoPlayer;
if(IAdamage
Minha solução:
int vidaPlayer = 100, attackEnemy = 5, vidaAtual;
void Start()
{
vidaAtual = 35;
int numeroAtaques = CalculaAtk(vidaPlayer, vidaAtual, attackEnemy);
Debug.Log(numeroAtaques);
// No caso criei a variavel numeroAtaques como local mas voce tbm pode declarar no escopo global
}
void Update() {...}
int CalculaAtk (int vidaPlayer, int vidaAtual, int attackEnemy)
{
return (vidaPlayer - vidaAtual) / attackEnemy;
}
O meu ficou assim:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Variáveis02 : MonoBehaviour
{
int numero1, numero2, resultadoSub;
int vidaPlayer = 100, attackEnemy = 10, vidaAtual, resultadoPerdeu;
// void é normalmente usado quando um método não tem retorno
void Start()
{
vidaAtual = 40;
numero1 = 10;
numero2 = 20;
Soma();
multiplicação(numero1 , numero2);
resultadoSub = sub(numero1, numero2);
Debug.Log(resultadoSub);
resultadoPerdeu = quantoPerdeu(vidaPlayer, vidaAtual);
Debug.Log(resultadoPerdeu);
}
void Update()
{
}
void Soma()
{
int resultado;
//use "+" para fazer uma adição
resultado = numero1 + numero2;
Debug.Log(resultado);
}
void multiplicação(int valorA, int valorB)
{
int resultado;
//use "*" para fazer multiplicações.
resultado = valorA * valorB;
Debug.Log(resultado);
}
int sub(int valorC, int valorD)
{
int resultado = valorD - valorC;
return resultado;
}
int quantoPerdeu(int Vida, int vidaAtual)
{
int resultado = Vida - vidaAtual;
return resultado;
}
}
Não consigo faze o desafio, acho que tá na hora de desistir do meu jogo mesmo kkkkkkkkkkkkkkkkkkk
Fiz assim
{
int PlayerLife = 100, EnemyAtack = 10, Life;
float Atacks;
void Start()
{
Life = 50;
Atacks = (PlayerLife - Life) / EnemyAtack;
Debug.Log(Atacks);
}
}
O meu ficou assim:
public class PlayerGolpes : MonoBehaviour{
int PlayerVida = 100, P_vidaAtual, hit, Dano_inimigo = 45;
void Start()
{
hit = Ataque_inimigo(Dano_inimigo);
P_vidaAtual = PlayerVida - Dano_inimigo * hit;
Debug.Log("Golpes recebidos: " + hit+ " Vida: " + P_vidaAtual);
}
void Update()
{
}
int Ataque_inimigo(int Atk_inimigo)
{
int golpes = PlayerVida / Atk_inimigo;
return golpes;
}
}
Ola pode me dizer se a forma de execução do meu metodo está correta? Na Unity imprimiu o resultado de 40 como "Vida atual"
{
int vidaPlayer, atackEnemy, vidaAtual;
void Start()
{
vidaPlayer = 100;
atackEnemy = 10;
vidaAtual = sub(vidaPlayer, atackEnemy);
Debug.Log(vidaAtual);
}
void Update()
{
}
int sub(int vlA, int VlB)
{
int resultado = vlA - VlB * 6;
return resultado;
}
}
o meu ficou:
public class scrpit1 : MonoBehaviour
{
int vidaPlayer = 100, atackEnemy = 10, vidaAtual;
public int numeroGolpes;
int nG;
int golpes(int vida, int dano)
{
numeroGolpes = vida / dano;
return numeroGolpes;
}
void Start()
{
vidaAtual = vidaPlayer - 20;
nG = golpes(vidaAtual, atackEnemy);
Debug.Log(nG);
}
void Update()
{
}
}
Entendi nada
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Exercícios : MonoBehaviour
{
int vidaPlayer = 100, vidaAtual, ataqueInimigo = 10, VezesAtacado;
void Start()
{
vidaAtual = 50;
ataqueInimigo = 10;
VezesAtacado = Combate(vidaAtual, ataqueInimigo);
Debug.Log(VezesAtacado);
}
void Update()
{
}
int Combate(int VidaAtual, int AtaqueInimigo)
{
int vezesAtacado = 0;
while (VidaAtual > 0)
{
VidaAtual = VidaAtual - AtaqueInimigo;
vezesAtacado++;
}
return vezesAtacado;
}
}
Minha resposta para o desafio é
int vidaMxima = 100, atkEnemy = 10, vidaAtual;
void Start()
{
vidaAtual = vidaMxima;
//a vida atual vai estar ligada a vida maxima
}
void Update()
{
//a vida atual vai receber dano do inimigo (vida maxima/atual - 10 de dano)
vidaAtual -= atkEnemy;
Debug.Log("Sua vida atual é" + vidaAtual);
if(vidaAtual
Fracassei na lógica da sua pergunta em como formular, ou seja não entendi onde queria chegar.
//VARIAVEIS
int lifePlayer = 100, attackEnemy = 10, lifeCurrent;
void Start()
{
lifeCurrent = Vida(lifePlayer, attackEnemy);
Debug.Log(lifeCurrent);
}
int Vida(int vidaTotalPlayer, int ataqueEnemy, int vidaAtual = 40)
{
int vida, quantosGolpesLevou;
vida = vidaTotalPlayer - vidaAtual;
quantosGolpesLevou = vida / ataqueEnemy;
return quantosGolpesLevou;
}
demorei 1 ou 2 dias pra entender mas fico assim kk
public class tarefa : MonoBehaviour
{
int vidaplayer = 100, vidaAtual = 30, ataqueinimi = 10, golpes;
void Start()
{
vidaAtual = 30;
golpes = golpesrecebidos(vidaplayer, vidaAtual, ataqueinimi);
Debug.Log(golpes);
}
void Update()
{
}
int golpesrecebidos(int vp, int va, int ai)
{
int resultado;
resultado = (vp - va) / ai;
return resultado;
int vidaPlayer = 100, atackEnemy = 10, vidaAtual = 80;
int golpesFinais;
void Start()
{
golpesFinais=quantGolpes(vidaPlayer, atackEnemy, vidaAtual);
Debug.Log("Seu personagem levou " + golpesFinais + " golpes :o");
}
void Update()
{
}
int quantGolpes(int vP, int aE, int vA)
{
int numeroGolpes;
numeroGolpes = (vP - vA)/aE;
return (numeroGolpes);
}
}
O meu fico Assim
public class Variaveis : MonoBehaviour
{
int vidaPlayer = 100;
int atackEnemy = 10;
int vidaAtual = 40;
int vdaatual;
void Start()
{
vdaatual = ParaCasa(vidaPlayer,vidaAtual,atackEnemy);
Debug.Log(vdaatual);
}
void Update()
{
}
int ParaCasa(int ValorA,int ValorB,int ValorC)
{
int BrTesta = ValorA - ValorB / ValorC;
return BrTesta;
}
}
int BrTesta = (ValorA - ValorB) / ValorC;
Os valores A e B tem que ficar entre parenteses para ser calculados primeiro, depois divididos.
obrigado carinha 😃
Ficou assim :)
int numero1, numero2, totalDeGolpes;
int vidaPlayer = 100;
int attackEnemy = 10;
int vidaAtual;
void Start()
{
vidaAtual = 40;
totalDeGolpes = golpes(vidaPlayer, attackEnemy, vidaAtual);
Debug.Log(totalDeGolpes);
}
void Update()
{
}
int golpes(int vidaPlayer, int attackEnemy, int vidaAtual)
{
int vidaDpsDoGolpe;
vidaDpsDoGolpe = (vidaPlayer - vidaAtual) / attackEnemy;
return vidaDpsDoGolpe;
}
O homem do hããããããããããã ataca mais uma vez! chega ser irritante
KKKKKKKKKKKK to acompanhando seu comentario desde o primeiro video
por que caralhos todo mundo consegue entender mas eu não entendo porra nenhum? essa desgraça é tão simples MAS EU NÃO CONSIGO FAZER ESSA PORRA
Calma po kkkk eh so tu pergunta que vamo te explicar :). Se tiver alguma ou várias dúvidas, pergunte independente se for muitas ou não, o importante é resolve-las! Pode mandar bala.
Cara eu estou na mesma situação T.T
@@joaoovitort é foda, eu até entendi um pouco
@@MrFagulha vou dar uma revisada amanhã com mais calma, hoje não foi kkkkkk
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class variave : MonoBehaviour
{
int totalHealthPlayer, attackEnemy, atualHealthPlayer, numberAttacks;
void Start()
{
totalHealthPlayer = 10;
attackEnemy = 3;
atualHealthPlayer = 1;
numberAttacks = TotalAttacks(totalHealthPlayer, atualHealthPlayer, attackEnemy);
Debug.Log(numberAttacks);
}
void Update()
{
}
int TotalAttacks(int x, int y, int z)
{
int lesshealth = x - y;
int numberAttacks = lesshealth / z;
return numberAttacks;
}
}
public class VidaPlayer : MonoBehaviour {
int vidaplayer = 100 , vidaatual = 40, atackenemy = 10, golpes;
void Start () {
golpes = subPerdevidas(vidaplayer, vidaatual, atackenemy);
Debug.Log(golpes);
}
void Update () {
}
int subPerdevidas(int valorA, int ValorB, int ValorC)
{
int golpes;
golpes = (valorA - ValorB) / ValorC;
Debug.Log(golpes);
return golpes;
}
}
esta feito só que n debugando console, se algm me ajudar ficarei grato.
Otima aula
vc tem q atribuir esse script a algum objeto para q o console de o debug
PORRA QUE ÓDIO EU FIQUEI VARIOS DIAS FAZENDO VARIOS CÓDIGO PRA ACERTA O EXERCÍCIOS E A LOGICA TAVA CERTA FOI SÓ EU EXCLUIR A BOSTA DO RETURN E BOTAR TUDO NO START QUE FUNCIONOU, QUE ÓDIO, QUE CERTEZA QUE DOS OUTROS JEITOS QUE FIZ TANBEM IA FUNCIONAR
Professor preciso de ajuda urgente, já procurei e não encontro o porque o valor não está sendo impresso, estou a 1 hora e meia tentando resolver, segue o código de exemplo >>> (DETALHE: NÃO APARECE ERRO NENHUM, TANTO É QUE, OS VALORES DOS EXERCICIOS ANTERIORES CONTINUAM SENDO IMPRESSOS.)
public class estudodecaso : MonoBehaviour
{
// Start is called before the first frame update
int VidaPlayer=100, Atack=10, VidaAtual, numeroDeGolpes;
void Start()
{
VidaAtual=40;
numeroDeGolpes = Dano(VidaPlayer,VidaAtual,Atack);
}
// Update is called once per frame
void Update()
{
}
int Dano(int VidaPlayer, int VidaAtual, int Atack)
{
int result = VidaPlayer- VidaAtual / Atack;
return result;
}
}
Tá faltando vc imprimir o dano com print ou debug.log
void Start()
{
numero1 = 10;
numero2 = 20;
Soma();
Multiplicacao(numero1, numero2);
resultadosub = sub(numero1, numero2);
Debug.Log(resultadosub);
vidaAtual = 70;
Golpes();
}
void Golpes()
{
int golpes;
golpes = vidaPlayer - vidaAtual;
int golpesrecebidos = golpes / 10;
Debug.Log(golpesrecebidos);
}
MInha tentativa está abaixo , queria saber onde errei ;
int vidaPlayer = 100, attackEnimy = 10, vidaAtual=40;
void Start()
{
vidaAtual = 40;
danoCausado();
danoCausado(vidaPlayer - vidaAtual);
qda(danoCausado / attackEnimy);
Debug.Log(qda);
}
void Update()
{
}
void danoCausado(int valorC, valorA)
{
int resultado;
resultado = valorC - valorA;
Debug.Log =(resultado);
}
void qda(int valorC,ValorB)
{
int resultado;
resultado = valorC / valorA;
Debug.log = (resultado);
}
quebrei a cabeça mas consegui concluir o objetivo ;
public class aula : MonoBehaviour
{
int vidaPlayer = 100, attackEnimy = 10, vidaAtual, danoX;
void Start()
{
vidaAtual = 40;
danoX = sub(vidaPlayer, vidaAtual, attackEnimy);
Debug.Log(danoX);
}
void Update()
{
}
int sub(int valorA,int valorB,int valorC)
{
int resultado = (valorA - valorB) / valorC;
return resultado;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Desafio : MonoBehaviour
{
int vidaPlayer = 100;
int AtaqueInimigo = 10;
int vidaAtual;
int golpes;
void Start()
{
vidaAtual = 1;
golpes = GolpesSofridos(vidaPlayer, vidaAtual, AtaqueInimigo);
Debug.Log(golpes);
}
void Update()
{
}
int GolpesSofridos(int VidaPlayer, int VidaAtual, int ataqueInimigo)
{
int resultado = vidaPlayer - VidaAtual;
resultado = resultado / ataqueInimigo;
return resultado;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Variaveis : MonoBehaviour
{
int numero1;
int numero2;
int resultadosub;
int vidaPlayer =100;
int ATAQUE = 10;
int VidaAtual =20;
int numerodeataques;
void Start()
{
numero1=10;
numero2=20;
Soma();
multiplicaçao();
resultadosub = sub(numero1, numero2);
Debug.Log (resultadosub);
numerodeataques = vidaAtual1(vidaPlayer , VidaAtual , ATAQUE);
Debug.Log (numerodeataques);
}
void Update()
{
}
void Soma()
{
int resultado;
resultado = numero1 + numero2;
Debug.Log(resultado);
}
void multiplicaçao()
{
int resultado;
resultado = numero1 * numero2;
Debug.Log(resultado);
}
int sub(int ValorA,int ValorB)
{
int resultado = ValorB - ValorA;
return resultado;
}
int vidaAtual1(int ValorA , int ValorB , int ValorC)
{
int resultado =(ValorA - ValorB) / ValorC;
return resultado;
}
}
fritei 28 neuronio pra resolver o exercicio mas obtive sucesso kjkkkkkkkk