MySQL: Entenda o CASE, COALESCE e NULLIF de uma vez por todas!

 🔸 1. CASE – Estrutura Condicional (tipo IF/ELSE) Use para retornar valores diferentes dependendo de uma condição. SELECT nome, salario, CASE WHEN salario >= 10000 THEN 'Alto' WHEN salario BETWEEN 5000 AND 9999 THEN 'Médio' ELSE 'Baixo' END AS faixa_salarial FROM funcionarios; 📌 O CASE analisa cada condição e retorna o valor correspondente. Ótimo para categorizar ou tratar lógicas personalizadas. 🔸 2. COALESCE – Primeiro valor NÃO NULO Substitui valores NULL pelo primeiro valor não nulo passado. SELECT nome, COALESCE (email, 'sem-email@empresa.com' ) AS contato FROM clientes; 📌 Se email for NULL , o valor padrão 'sem-email@empresa.com' será exibido. 🔸 3. NULLIF – Evita divisões perigosas ou comparações iguais Retorna NULL se os dois valores forem iguais . Muito usado para evitar divisões por zero. SELECT nome, vendas, metas, ...

Recriando dragonball na unity games 3d/Salve galera, tranquilo? Tenho certeza que Dragon Ball fez parte da sua infância assim como fez da minha, por isso resolvi criar um game baseado no anime dentro da Unity Engine. Espero que gostem!!!






 

🎮 ETAPA 1: Planejamento Inicial

1. Escolha o Estilo de Jogo

  • 2D ou 3D?

  • Gênero: Luta, RPG, Aventura, Plataforma?

  • Ex: "Jogo de luta 2D com combates rápidos no estilo clássico do SNES".

2. Ferramentas Necessárias

  • Engine: Unity (versão LTS recomendada, ex: 2022.3 LTS)

  • Linguagem: C#

  • Assets:

    • Sprites (2D) ou modelos 3D (pode começar com placeholders ou assets gratuitos)

    • Áudio (Efeitos sonoros e música)

    • Animações


🔧 ETAPA 2: Base Técnica no Unity

1. Configurar o Projeto

  • Abrir Unity Hub > Novo Projeto > 2D ou 3D (conforme o estilo escolhido)

2. Criar Personagem Jogável

  • Adicionar objeto Player

  • Adicionar CharacterController ou Rigidbody + Collider

  • Criar script PlayerMovement.cs com movimentação básica (andar, pular, voar, etc.)

// Exemplo básico de movimentação 2D public class PlayerMovement : MonoBehaviour { public float speed = 5f; public float jumpForce = 10f; private Rigidbody2D rb; void Start() { rb = GetComponent<Rigidbody2D>(); } void Update() { float move = Input.GetAxis("Horizontal"); rb.velocity = new Vector2(move * speed, rb.velocity.y); if (Input.GetButtonDown("Jump")) { rb.velocity = new Vector2(rb.velocity.x, jumpForce); } } }

🥊 ETAPA 3: Combate

1. Golpes Básicos

  • Crie animações de soco, chute, etc.

  • Use Animator + Animation no Unity

  • Detecte colisões com OnTriggerEnter2D() para causar dano

2. Poderes (Ex: Kamehameha)

  • Criar um prefab com sprite do ataque

  • Usar Instantiate() para lançar o poder na direção do inimigo

public GameObject energyBlastPrefab; void Update() { if (Input.GetKeyDown(KeyCode.F)) { Instantiate(energyBlastPrefab, transform.position, transform.rotation); } }

🗺️ ETAPA 4: Cenário e Inimigos

  • Crie cenário com Tilemaps (2D) ou Terrains (3D)

  • Adicione inimigos com IA simples

  • Use FSMs (Finite State Machines) para controlar estados: patrulha, ataque, perseguição etc.


⚡ ETAPA 5: UI, HUD e Vida

  • Crie barra de vida para o player e inimigos

  • Adicione menu de pausa, tela de vitória/derrota

  • Interface com Unity UI (Canvas, Image, Text, Slider)


📦 ETAPA 6: Polimento e Expansão

  • Sistema de transformação (Super Saiyajin etc.)

  • Sistema de níveis ou power-up

  • Cutscenes (Timeline)

  • Modo história com diálogos (pode usar Yarn Spinner ou Ink)


🛠️ Recursos Úteis

Sites com assets e plugins:

Canais YouTube úteis:

  • Brackeys (ainda é ótimo, mesmo arquivado)

  • Code Monkey

  • Blackthornprod

  • GameDev Guide


⚠️ Dica Legal: Comece pequeno!

Não tente recriar o Dragon Ball FighterZ inteiro de cara. Faça primeiro um protótipo com um personagem, uma arena, um ataque.

Comentários

Postagens mais visitadas deste blog

Quais Linguagens de Programação São Usadas em Jogos?

Projeto de lei sobre jogos online recebe aprovação do gabinete — Como ele regulará aplicativos

como programar um jogo do angry birds em 2d