﻿1
00:00:04,510 --> 00:00:05,470
‫Olá e bem-vindo.

2
00:00:05,470 --> 00:00:12,010
‫Nesta palestra, vamos restringir a quantidade de munição que temos para que, uma vez que

3
00:00:12,010 --> 00:00:16,060
‫tenhamos usado tudo, não possamos mais gerar projéteis.

4
00:00:16,360 --> 00:00:20,230
‫Estou sem projéteis e estou até recebendo uma mensagem dizendo que estou sem munição.

5
00:00:20,230 --> 00:00:22,090
‫Eu não posso gerar mais.

6
00:00:22,390 --> 00:00:24,370
‫Então vamos mergulhar e ver como fazemos isso.

7
00:00:25,600 --> 00:00:33,940
‫Então, idealmente, o que queremos que aconteça é quando a munição chega a zero, não podemos mais gerar

8
00:00:33,940 --> 00:00:34,900
‫novos projéteis.

9
00:00:34,900 --> 00:00:42,520
‫Mas como controlamos o fluxo de nosso código por meio de valores em nossas variáveis?

10
00:00:42,820 --> 00:00:46,930
‫Bem, a solução para este enigma é algo chamado nó de ramificação.

11
00:00:47,260 --> 00:00:54,280
‫Então ramos, letras, verifique se algo é verdadeiro ou não, e então faça algo baseado no resultado.

12
00:00:54,580 --> 00:01:00,730
‫Então você pode ter um nó de ramificação que se parece com isso que diz Se estou com fome, então a condição é

13
00:01:00,730 --> 00:01:04,510
‫que estou com fome, então coma junk food enquanto a esposa não está assistindo.

14
00:01:04,750 --> 00:01:08,410
‫E se isso não for verdade, continue jogando videogame.

15
00:01:08,410 --> 00:01:14,440
‫Portanto, esses nós de ramificação nos permitem fazer uma coisa se uma condição for verdadeira e outra se for

16
00:01:14,440 --> 00:01:14,800
‫falsa.

17
00:01:15,040 --> 00:01:17,950
‫Qualquer uma dessas opções não poderia fazer nada.

18
00:01:17,950 --> 00:01:22,840
‫Portanto, você só pode conectar o nó falso ou só pode conectar o nó verdadeiro.

19
00:01:23,110 --> 00:01:25,330
‫Qualquer um destes vai funcionar.

20
00:01:25,600 --> 00:01:27,460
‫Então você vai se lembrar disso.

21
00:01:27,460 --> 00:01:35,020
‫Ou você pode se lembrar que a cor vermelha estava associada a variáveis do tipo booleano em unreal.

22
00:01:35,020 --> 00:01:37,420
‫Então, vamos nos lembrar o que é um bool?

23
00:01:38,020 --> 00:01:44,290
‫Um bool é a abreviação de boolean e existem tipos que podem armazenar um de dois valores verdadeiro ou falso,

24
00:01:44,290 --> 00:01:45,430
‫sim ou não.

25
00:01:45,820 --> 00:01:49,360
‫Eles são frequentemente usados com instruções if ou branches.

26
00:01:49,360 --> 00:01:53,560
‫Então, no futuro, vamos em C++, vamos chamar branches if.

27
00:01:53,560 --> 00:01:55,090
‫Mas é a mesma coisa?

28
00:01:55,090 --> 00:01:56,110
‫É o mesmo conceito.

29
00:01:56,230 --> 00:02:01,870
‫E eles podem controlar se algo acontece ou não e certos nós podem retornar booleanos.

30
00:02:01,870 --> 00:02:04,300
‫Então, que tipo de nós poderia retornar booleanos?

31
00:02:04,300 --> 00:02:06,580
‫Que tipo de resposta queremos?

32
00:02:06,580 --> 00:02:13,420
‫Bem, quando é que queremos permitir que o ator de desova aconteça?

33
00:02:13,420 --> 00:02:16,450
‫Quando queremos que um novo projétil seja criado?

34
00:02:16,630 --> 00:02:23,890
‫Só queremos que um novo projétil seja criado se a quantidade de munição que temos for maior que zero.

35
00:02:24,160 --> 00:02:31,600
‫Felizmente, se você clicar com o botão direito do mouse no gráfico de eventos e procurar por maior, haverá um nó para

36
00:02:31,600 --> 00:02:32,050
‫isso.

37
00:02:32,060 --> 00:02:40,570
‫Esses tipos de operadores ou nós são chamados de comparação porque eles pegam dois valores e criam uma comparação

38
00:02:40,570 --> 00:02:45,010
‫entre eles e nos permitem ter uma resposta booleana.

39
00:02:45,010 --> 00:02:48,880
‫Portanto, maior é um exemplo, menor é outro exemplo.

40
00:02:48,880 --> 00:02:52,660
‫Você também pode ver isso menos igual, o que significa que é menor ou igual.

41
00:02:52,960 --> 00:02:58,390
‫Há também igual que é não é um bem igual ou não igual.

42
00:02:58,630 --> 00:03:01,180
‫Se dois valores forem iguais, então retorne true.

43
00:03:01,180 --> 00:03:02,680
‫Caso contrário, retorne falso.

44
00:03:02,980 --> 00:03:04,990
‫Então vamos atualizar um pouco nosso glossário.

45
00:03:04,990 --> 00:03:09,280
‫Nós descobrimos que um branch é um fazer algo ou não baseado em um touro.

46
00:03:09,520 --> 00:03:15,490
‫Descobrimos que touros ou booleanos são um tipo de dados sim, não, e essa comparação é coisas

47
00:03:15,490 --> 00:03:20,740
‫como menor que maior que igual etc. que retornam crucialmente um booleano.

48
00:03:21,010 --> 00:03:24,730
‫Então, vamos tentar usar uma dessas comparações.

49
00:03:24,730 --> 00:03:30,550
‫Vou clicar com o botão direito e adicionar a comparação maior aqui.

50
00:03:30,820 --> 00:03:36,430
‫Então eu vou controlar, clicar na variável de munição e arrastá-la para o primeiro nó do nosso nó de

51
00:03:36,430 --> 00:03:36,940
‫comparação.

52
00:03:37,210 --> 00:03:40,870
‫E então você pode ver que o padrão aqui é realmente maior que zero.

53
00:03:40,870 --> 00:03:42,310
‫Então é exatamente isso que queremos.

54
00:03:42,310 --> 00:03:49,450
‫Temos um nó que diz É a munição maior que zero e o valor de retorno é um booleano dizendo sim se

55
00:03:49,450 --> 00:03:51,550
‫for e não se não for.

56
00:03:51,940 --> 00:03:57,340
‫Então, o que queremos fazer é pegar esse valor de retorno bool, arrastar e procurar por branch.

57
00:03:57,670 --> 00:04:03,730
‫Em seguida, podemos adicionar um nó de ramificação e ele conecta automaticamente a condição de entrada ao booleano

58
00:04:03,730 --> 00:04:04,750
‫que estávamos arrastando.

59
00:04:04,870 --> 00:04:14,410
‫Agora vou arrastar de volta meu evento da barra de espaço e arrastar seu pino de execução do nó pressionado para a entrada

60
00:04:14,410 --> 00:04:15,520
‫da ramificação.

61
00:04:15,520 --> 00:04:17,830
‫Então isso vai executar nosso branch.

62
00:04:18,130 --> 00:04:25,060
‫Então queremos que o galho, se for verdade, vá em frente e gere o projétil, caso contrário não

63
00:04:25,060 --> 00:04:25,930
‫fará nada.

64
00:04:26,170 --> 00:04:27,130
‫Então vamos tentar isso.

65
00:04:27,130 --> 00:04:33,280
‫Se apertarmos o play e gerarmos muitos projéteis, fazemos com que o valor do projétil caia para zero.

66
00:04:33,280 --> 00:04:39,940
‫Você pode ver que agora, não importa o quanto eu aperte a barra de espaço, não estou recebendo mais projéteis.

67
00:04:40,300 --> 00:04:43,690
‫Então eu gostaria de desafiá-lo a imprimir sem munição.

68
00:04:44,020 --> 00:04:49,060
‫Portanto, use a ramificação falsa para adicionarmos um nó de impressão lá.

69
00:04:49,390 --> 00:04:54,280
‫E basicamente quando estamos sem munição, eu gostaria que você imprimisse sem munição.

70
00:04:54,280 --> 00:04:56,800
‫Então teste seu código e verifique se isso está acontecendo.

71
00:04:57,130 --> 00:04:58,930
‫Pause o vídeo e vá em frente.

72
00:05:02,260 --> 00:05:02,850
‫OK.

73
00:05:02,860 --> 00:05:03,760
‫Bem vindo de volta.

74
00:05:03,940 --> 00:05:09,220
‫Então nós temos este segundo branch do nosso branch node.

75
00:05:09,220 --> 00:05:13,360
‫Vamos apenas arrastar isso de volta para que nossas linhas não se cruzem com esses pinos de execução.

76
00:05:13,660 --> 00:05:17,950
‫E o ramo falso deve descer até aqui onde vai fazer uma string de impressão.

77
00:05:18,310 --> 00:05:23,800
‫E a string que eu quero imprimir vai ficar sem munição.

78
00:05:24,010 --> 00:05:31,390
‫Agora, se continuarmos jogando e disparando todas as 20 balas de munição de canhão, você pode ver que cada vez que eu

79
00:05:31,390 --> 00:05:37,750
‫aperto a barra de espaço, ela apenas imprime a mensagem de que estou sem munição, dando ao jogador a

80
00:05:37,750 --> 00:05:41,290
‫indicação do motivo. não há mais bolas surgindo na cena.

81
00:05:41,530 --> 00:05:42,730
‫Isso é tudo para esta palestra.

82
00:05:42,760 --> 00:05:44,080
‫Vejo você na próxima.

