﻿1
00:00:04,550 --> 00:00:05,740
‫Ciao e Benvenuto.

2
00:00:05,750 --> 00:00:11,270
‫In questa lezione, inizieremo ad aggiungere ancora più funzionalità al nostro albero del

3
00:00:11,270 --> 00:00:17,150
‫comportamento aggiungendo un'attività personalizzata, questo chiaro valore di lavagna, lo renderemo completamente personalizzato in

4
00:00:17,150 --> 00:00:17,960
‫C++.

5
00:00:18,230 --> 00:00:19,970
‫Entriamo e vediamo come farlo.

6
00:00:21,280 --> 00:00:21,440
‫Bene.

7
00:00:21,460 --> 00:00:28,740
‫Quindi vorrei espandere il comportamento di questo albero del comportamento in modo da poter indagare.

8
00:00:28,750 --> 00:00:32,830
‫E una volta che abbiamo finito di indagare, torniamo a casa.

9
00:00:33,130 --> 00:00:40,000
‫Quindi aggiungerò una piccola mossa all'attività qui in seguito, che ci riporta alla posizione di partenza.

10
00:00:40,720 --> 00:00:47,080
‫E quello che dobbiamo fare per arrivarci è sapere se abbiamo già visitato l'ultimo

11
00:00:47,080 --> 00:00:48,910
‫luogo di gioco conosciuto.

12
00:00:49,360 --> 00:00:54,430
‫E il modo in cui lo farò è essenzialmente spodestando l'ultimo luogo di gioco conosciuto una volta che

13
00:00:54,430 --> 00:00:55,360
‫lo avremo studiato.

14
00:00:55,900 --> 00:01:00,730
‫Ora, se al momento non abbiamo un modo per farlo, ma prima di tutto creiamo il decoratore.

15
00:01:00,910 --> 00:01:09,130
‫Quindi il decoratore aggiunto alla lavagna investigativa che andrà a rinominarlo ha indagato in

16
00:01:09,130 --> 00:01:10,930
‫questo modo.

17
00:01:11,440 --> 00:01:16,360
‫E questo verificherà se è impostata l'ultima posizione nota.

18
00:01:16,870 --> 00:01:22,810
‫E ciò significa che dobbiamo avere una sorta di nodo che ci permetta di disimpostare una chiave della lavagna.

19
00:01:23,800 --> 00:01:25,390
‫Ora, in realtà non esiste ancora.

20
00:01:25,390 --> 00:01:26,560
‫Pensavo di sì, ma non è così.

21
00:01:26,590 --> 00:01:31,150
‫Quindi questa è una grande opportunità per me per mostrarti come possiamo creare un'attività personalizzata.

22
00:01:31,450 --> 00:01:35,390
‫Ora, potresti farlo molto facilmente usando i progetti o dove?

23
00:01:35,480 --> 00:01:39,760
‫Ti mostrerò un po' Hardaway, ma quello che ti dà molta potenza, che lo sta

24
00:01:39,760 --> 00:01:40,780
‫facendo tramite C++.

25
00:01:41,530 --> 00:01:48,670
‫Quindi andremo al nostro browser dei contenuti principale, andremo ad aggiungere nuovo e andremo alla nuova classe C++.

26
00:01:48,670 --> 00:01:54,220
‫E vorremo mostrare la casella di controllo di tutte le classi e quindi cercheremo B. T. Compito.

27
00:01:54,640 --> 00:01:56,710
‫E ci sono molte opzioni qui.

28
00:01:57,050 --> 00:02:03,700
‫Puoi vedere che molti di loro sono in realtà attività integrate come fare rumore o c'è una mossa qui

29
00:02:03,700 --> 00:02:04,630
‫o aspettare.

30
00:02:05,200 --> 00:02:08,910
‫Ora potresti andare a dare un'occhiata al C++ per vedere come vengono implementati.

31
00:02:08,920 --> 00:02:09,850
‫È sempre utile.

32
00:02:10,270 --> 00:02:13,660
‫Ma ciò che ci interessa è da cosa dovremmo ereditare?

33
00:02:13,660 --> 00:02:16,930
‫Cosa dovremmo usare come base per il nostro nodo?

34
00:02:17,410 --> 00:02:18,970
‫Ora ci sono un paio di opzioni qui.

35
00:02:18,980 --> 00:02:25,360
‫Puoi scegliere di avere un nodo attività come base oppure puoi utilizzare la base della lavagna.

36
00:02:25,390 --> 00:02:26,830
‫Ora, qual è la differenza tra i due?

37
00:02:27,520 --> 00:02:28,390
‫Diamo una rapida occhiata.

38
00:02:28,780 --> 00:02:31,890
‫Quindi passa a utilizzare effettivamente la base della lavagna.

39
00:02:31,900 --> 00:02:39,070
‫E ciò significa che ha questo menu a discesa della chiave della lavagna che ci consente di scegliere una chiave della lavagna

40
00:02:39,070 --> 00:02:40,060
‫con cui lavorare.

41
00:02:40,300 --> 00:02:45,880
‫Ciò significa che non dobbiamo codificare in modo rigido nella nostra attività i tasti della lavagna con cui stiamo lavorando, il

42
00:02:45,880 --> 00:02:49,750
‫che è fantastico perché ci consente di riutilizzare tali attività in situazioni diverse.

43
00:02:50,110 --> 00:02:54,740
‫Quindi, se hai bisogno di una chiave per lavagna, allora la base della lavagna è perfetta.

44
00:02:54,760 --> 00:02:56,410
‫Altrimenti usi l'altro.

45
00:02:56,890 --> 00:03:02,300
‫Quindi andiamo e aggiungiamo di nuovo una nuova classe C++, mostra tutte le classi e stiamo cercando di

46
00:03:02,440 --> 00:03:03,520
‫nuovo l'attività beat.

47
00:03:03,520 --> 00:03:06,670
‫E stiamo ancora selezionando il prossimo successo di Blackboard Base.

48
00:03:07,000 --> 00:03:14,410
‫Ora lo rinominerò in Beat Task, sottolineando il valore chiaro della lavagna.

49
00:03:15,370 --> 00:03:18,160
‫Andrò avanti e creerò quella classe qui.

50
00:03:18,850 --> 00:03:20,410
‫Ora, inizialmente, questo fallirà.

51
00:03:20,410 --> 00:03:20,920
‫Quindi clicchiamo.

52
00:03:20,920 --> 00:03:23,230
‫Sì e vedere qual è il messaggio di errore qui.

53
00:03:23,770 --> 00:03:30,040
‫Sta dicendo qualcosa su L e K, che sta per collegamento simbolo esterno irrisolto, blah, blah, blah.

54
00:03:30,070 --> 00:03:35,500
‫Di solito quando hai questo tipo di errore dal linker, questo sta dicendo che hai qualcosa

55
00:03:35,500 --> 00:03:43,000
‫nella tua testa di file che non era nel tuo C++ o in questo caso significa che non c'è un modulo incluso che

56
00:03:43,000 --> 00:03:44,560
‫su cui ci affidiamo.

57
00:03:45,010 --> 00:03:51,970
‫E in base ai tipi di simboli che sta cercando, posso vedere che qui è l'interfaccia del proprietario dell'attività di gioco

58
00:03:51,970 --> 00:03:52,510
‫dell'IA.

59
00:03:53,050 --> 00:03:58,870
‫Sembra che stia cercando qualcosa a che fare con le attività di gioco e in realtà è un modulo.

60
00:03:58,880 --> 00:04:05,740
‫Quindi, se andiamo al codice di Visual Studio e apriamo semplicemente il browser di file, scorrerà semplicemente fino

61
00:04:05,740 --> 00:04:07,030
‫al mio progetto.

62
00:04:07,360 --> 00:04:12,210
‫Quindi sotto il sorgente sparatutto semplice dovrebbe esserci una build semplice del punto sparatutto, punto C.

63
00:04:12,280 --> 00:04:14,350
‫Quindi qualunque sia il nome del tuo progetto è Dot Builders.

64
00:04:14,350 --> 00:04:14,650
‫Sì.

65
00:04:15,130 --> 00:04:21,160
‫E qui dentro, se ci dessi un po' più di spazio, puoi vedere che abbiamo queste dipendenze pubbliche, i nomi

66
00:04:21,160 --> 00:04:22,030
‫dei moduli.

67
00:04:22,180 --> 00:04:29,470
‫E il nome del modulo qui che vogliamo aggiungere a questo elenco sarà il gioco.

68
00:04:30,920 --> 00:04:37,370
‫Compiti con una S e se andiamo avanti e lo aggiungiamo e torniamo indietro e compiliamo ora, si spera che

69
00:04:37,370 --> 00:04:40,040
‫tutto venga compilato correttamente per qualsiasi motivo.

70
00:04:40,040 --> 00:04:44,480
‫Questo non viene aggiunto automaticamente quando esegui l'override per l'attività beat.

71
00:04:44,720 --> 00:04:48,470
‫Ora, una volta fatto, andiamo a dare un'occhiata a ciò che è stato creato qui.

72
00:04:49,100 --> 00:04:56,480
‫Dovremmo avere una nuova classe, che è la nostra attività beta, clip di sottolineatura, valore della lavagna.

73
00:04:56,840 --> 00:04:58,910
‫Ed è abbastanza vuoto al momento.

74
00:04:59,420 --> 00:05:05,090
‫Ora quello che voglio fare è se dovessimo aggiungere questo al nostro albero del comportamento al momento, avrebbe

75
00:05:05,090 --> 00:05:06,140
‫un nome brutto.

76
00:05:06,440 --> 00:05:09,920
‫Quindi vogliamo un bel nome leggibile dall'uomo per questo compito.

77
00:05:10,280 --> 00:05:14,660
‫E il modo in cui lo faremo è aggiungere un costruttore e impostare una proprietà.

78
00:05:14,660 --> 00:05:17,330
‫Quindi creiamo un costruttore pubblico qui.

79
00:05:17,990 --> 00:05:21,350
‫Il costruttore ha sempre lo stesso nome della classe, quindi possiamo copiarlo.

80
00:05:21,600 --> 00:05:26,660
‫Non è necessario prendere alcun punto e virgola di argomento alla fine e quindi creiamo

81
00:05:26,660 --> 00:05:27,950
‫l'implementazione in C++.

82
00:05:28,640 --> 00:05:33,920
‫E l'implementazione deve solo impostare una variabile chiamata nome del nodo.

83
00:05:34,280 --> 00:05:40,760
‫Quindi, se imposti il nome del nodo e poi usi una stringa, la stringa che impostiamo sarà il nome del nodo.

84
00:05:40,760 --> 00:05:42,920
‫Quindi sarà una lavagna chiara.

85
00:05:44,120 --> 00:05:48,710
‫Il valore solo con gli spazi nella maiuscola corretta dovrebbe essere facile e piacevole.

86
00:05:48,740 --> 00:05:54,020
‫Ora, una cosa che ho dimenticato di fare al momento della registrazione è circondarlo dalla macro di testo.

87
00:05:54,350 --> 00:05:59,540
‫Ora dovresti andare avanti e farlo nel tuo codice, ma vedrai che nel mio codice persisterà

88
00:05:59,840 --> 00:06:01,220
‫e sarà proprio così.

89
00:06:01,850 --> 00:06:04,940
‫E dovremmo essere in grado di andare a compilarlo ora.

90
00:06:06,680 --> 00:06:08,900
‫Fantastico che è stato compilato con successo.

91
00:06:09,470 --> 00:06:11,960
‫Quindi ti sfido ad aggiungere questo nuovo nodo.

92
00:06:12,290 --> 00:06:17,030
‫Quindi aggiungilo alla fine del comportamento di indagine e controlla solo che venga completato.

93
00:06:17,030 --> 00:06:22,370
‫Fondamentalmente, dovrebbe completarsi automaticamente senza fare nulla, ma controlla che il nome sia

94
00:06:22,370 --> 00:06:22,970
‫corretto.

95
00:06:22,970 --> 00:06:26,210
‫Sono in grado di aggiungerlo e vedremo di aggiungere il comportamento nella prossima lezione.

96
00:06:26,220 --> 00:06:27,320
‫Quindi metti in pausa il video e prova.

97
00:06:28,640 --> 00:06:29,080
‫Bene.

98
00:06:29,090 --> 00:06:29,630
‫Ben tornato.

99
00:06:29,690 --> 00:06:35,600
‫Quindi andiamo a Enemy II e aggiungiamo alla fine del comportamento di indagine.

100
00:06:35,600 --> 00:06:39,380
‫Aggiungeremo il nostro valore di lavagna chiara.

101
00:06:39,380 --> 00:06:41,210
‫Puoi vedere che ha un bel nome lì.

102
00:06:41,630 --> 00:06:45,590
‫E puoi anche vedere che se vai al riquadro dei dettagli, puoi selezionare una chiave della lavagna.

103
00:06:45,590 --> 00:06:47,960
‫Selezioneremo la posizione di riproduzione del cognome.

104
00:06:47,960 --> 00:06:53,180
‫Anche se non fa ancora nulla, puoi vedere che abbiamo quella funzionalità perché

105
00:06:53,180 --> 00:06:58,190
‫abbiamo ereditato da Blackboard Base e controlliamo solo che si completi automaticamente.

106
00:06:58,190 --> 00:07:00,770
‫Dovrebbe farlo e poi dovrebbe andare avanti.

107
00:07:00,770 --> 00:07:06,560
‫Passiamo in seguito a un'attività di pesi in modo da poter vedere che va direttamente e

108
00:07:06,560 --> 00:07:07,790
‫si completa automaticamente.

109
00:07:08,240 --> 00:07:17,420
‫Quindi suonerò, andrò a nascondermi dietro l'angolo il più possibile, e poi andrò a dare un'occhiata alle indagini

110
00:07:17,420 --> 00:07:23,030
‫che sono state attraversate e in realtà mi ha visto.

111
00:07:23,030 --> 00:07:26,930
‫Quindi andiamo a nasconderci di nuovo e nasconderci dietro l'angolo, se posso.

112
00:07:28,520 --> 00:07:31,510
‫Andrò e poi andrò da loro.

113
00:07:31,520 --> 00:07:35,790
‫È passato attraverso il valore di lavagna chiara, il che deve significare che ha avuto successo

114
00:07:35,790 --> 00:07:40,730
‫perché sappiamo che se era una sequenza e ha fallito, deve essersi fermato e non è salito sul peso.

115
00:07:41,180 --> 00:07:42,890
‫Quindi funziona correttamente.

116
00:07:42,890 --> 00:07:48,630
‫Il chiaro valore della lavagna sta semplicemente tornando al successo e continuando ad aspettare il passaggio successivo.

117
00:07:48,650 --> 00:07:51,710
‫Vedremo come possiamo effettivamente aggiungere la funzionalità.

118
00:07:51,950 --> 00:07:52,550
‫vedrò lì.

