{"id":753,"date":"2022-10-03T11:32:18","date_gmt":"2022-10-03T09:32:18","guid":{"rendered":"https:\/\/scratch.itbib4you.be\/?page_id=753"},"modified":"2022-11-17T15:58:39","modified_gmt":"2022-11-17T14:58:39","slug":"communicatie-tussen-sprites","status":"publish","type":"page","link":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/","title":{"rendered":"Communicatie tussen Sprites"},"content":{"rendered":"\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 has-custom-font-size has-small-font-size\"><a class=\"wp-block-button__link has-light-green-cyan-to-vivid-green-cyan-gradient-background has-background wp-element-button\" href=\"https:\/\/scratch.itbib4you.be\/\">Lesoverzicht<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Inleiding<\/h2>\n\n\n\n<p>In de les &#8216;Communicatie tussen Sprites&#8217; wordt aangeleerd hoe Sprites berichten (in het Engels <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">messages<\/mark>) kunnen uitwisselen met elkaar. Berichten zullen worden versleuteld zodat ze enkel door bepaalde Sprites kunnen worden begrepen. <\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Encryptie<\/mark> verwijst naar technieken om gegevens te versleutelen vooraleer deze gegevens worden gecommuniceerd of opgeslagen. Een eenvoudig codeer algoritme wordt toegeschreven aan Julius Caesar en staat bekend als de <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Caesar<em> <\/em>codering<\/mark>. Door voor elke letter in het alfabet een vaste verschuiving toe te passen naar een andere letter in het alfabet wordt een tekst gecodeerd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Elke Sprite zijn\/haar eigen variabelen<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png\" alt=\"Variabele: alleen voor deze Sprite\n\" class=\"wp-image-789\" width=\"209\" height=\"178\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png 718w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6-300x255.png 300w\" sizes=\"auto, (max-width: 209px) 85vw, 209px\" \/><\/figure>\n<\/div>\n\n\n<p>Tot op heden hadden alle Sprites steeds toegang tot alle variabelen die in het programma werden gedefinieerd. Voorlopig hebben wij namelijk steeds het vakje <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Voor alle sprites<\/mark> aangevinkt bij de definitie van een nieuwe variabele.<\/p>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_7.png\" alt=\"De variabele Positie\" class=\"wp-image-790\" width=\"263\" height=\"146\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_7.png 956w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_7-300x168.png 300w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_7-768x429.png 768w\" sizes=\"auto, (max-width: 263px) 85vw, 263px\" \/><\/figure>\n<\/div>\n\n\n<p>Een variabele kan evenwel ook worden toegekend aan een bepaalde Sprite door <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alleen voor deze sprite<\/mark> aan te vinken. Enkel deze Sprite kan dan van deze variabele gebruik maken. Op deze manier kunnen zowel Abby als Dee bijvoorbeeld over een variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark> beschikken. Deze variabelen staan dan volledig los van elkaar en kunnen elkaar niet be\u00efnvloeden. De variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark> van Dee kan dan bijvoorbeeld de waarde 10 bevatten terwijl de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark> van Abby de waarde 0 heeft. Indien we beide variabelen zichtbaar maken dan wordt dit verschil duidelijk weergegeven in het speelveld.<\/p>\n\n\n\n<p>Om ongewenste be\u00efnvloeding van variabelen door een andere Sprite te vermijden, is het aan te bevelen om variabelen steeds te beperken tot een welbepaalde Sprite (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alleen voor deze Sprite<\/mark>). Enkel variabelen die ook nuttig of nodig zijn voor andere Sprites worden dan gedefinieerd <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Voor alle sprites<\/mark>.<\/p>\n\n\n\n<p>Deze redenering zullen we nu verder illustreren in dit hoofdstuk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Communicatie tussen Sprites<\/h2>\n\n\n\n<p>In deze les gebruiken we twee Sprites: Dee en Abby. Dee zal een versleutelde boodschap overbrengen naar Abby. We starten dus met het verwijderen van  onze Scratch-mascotte en voegen de Sprites Dee en Abby toe.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_3.png\" alt=\"Een signaal versturen\" class=\"wp-image-768\" width=\"267\" height=\"112\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_3.png 562w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_3-300x126.png 300w\" sizes=\"auto, (max-width: 267px) 85vw, 267px\" \/><\/figure>\n<\/div>\n\n\n<p>Dee start bijvoorbeeld het gesprek met een eenvoudig welkomstbericht \u201c<em>Abby, ik heb een bericht voor jou!<\/em>\u201d. Om een reactie van Abby uit te lokken verstuurt hij tevens het signaal &#8216;<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Abby Welkom<\/mark>&#8216;. Dit signaal is niet enkel \u2018hoorbaar\u2019 door Abby maar kan ook door alle andere Sprites worden opgevangen. Om een onderscheid te maken tussen de vele berichten die soms tussen de Sprites circuleren, zou ik aanraden om de naam van het signaal steeds te laten voorafgaan door de naam van de geviseerde Sprite. Het signaal &#8216;<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Abby: Welkom<\/mark> &#8216; duidt aan dat dit signaal voor de Sprite Abby is bestemd. De naam toegekend aan het signaal is namelijk volledig willekeurig. Het is dan aan de geviseerde Sprite om op het toegestuurde signaal al dan niet te reageren.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_1.png\" alt=\"Nieuw bericht defini\u00ebren\" class=\"wp-image-764\" width=\"204\" height=\"119\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_1.png 440w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_1-300x175.png 300w\" sizes=\"auto, (max-width: 204px) 85vw, 204px\" \/><\/figure>\n<\/div>\n\n\n<p>Een nieuw signaal kan worden aangemaakt door in het keuzeveld van het <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">zend signaal<\/mark>-blok (categorie <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Gebeurtenissen<\/mark>) te kiezen voor <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Nieuw bericht<\/mark>. De naam van het nieuwe signaal kan nadien in een nieuw venster worden ingebracht.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_4.png\" alt=\"Ontvangen van een signaal\" class=\"wp-image-773\" width=\"254\" height=\"83\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_4.png 518w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_4-300x98.png 300w\" sizes=\"auto, (max-width: 254px) 85vw, 254px\" \/><\/figure>\n<\/div>\n\n\n<p>De Sprite die op het signaal wil reageren (in dit geval Abby) maakt dan gebruik van het startblok <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Wanneer ik het signaal &#8216;Abby: Welkom&#8217; ontvang<\/mark> uit de categorie <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Gebeurtenissen<\/mark>. Abby kan tevens reageren met een nieuw <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Dee:OK<\/mark>-signaal om Dee te laten weten dat hij verder kan gaan. Dee zal dan dit signaal opvangen als reactie op dit bericht van Abby. Op deze manier kan op een eenvoudige manier een vlotte conversatie tussen Sprites worden gerealiseerd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Caesar codering<\/h2>\n\n\n\n<p>Julius Caesar gebruikte geheimschrift om met zijn veldheren te communiceren. Caesar verving elke letter uit het alfabet door een letter op een vast aantal plaatsen vroeger of later in het alfabet. Het aantal plaatsen verschuiving wordt aangeduid met de term <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">rotatie<\/mark>. In volgend voorbeeld wordt een rotatie van 3 (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">rot3<\/mark>) gebruikt: A wordt vervangen door D, B wordt vervangen door E,&#8230;X door A, Y door B, Z door C&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"874\" height=\"198\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_5.png\" alt=\"Caesar codering met rotatie 3\" class=\"wp-image-780\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_5.png 874w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_5-300x68.png 300w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_5-768x174.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Caesar codering met rotatie 3<\/figcaption><\/figure>\n\n\n\n<p>In het algoritme zullen we gebruik moeten maken van twee strings: een string met het volledig alfabet (variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark>) en een string met de letters die de karakters op dezelfde posities in <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark> moeten vervangen (variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">CaesarCode<\/mark>). Beide strings moeten zowel voor Dee als voor Abby toegankelijk zijn (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Voor alle sprites<\/mark>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">De string CaesarCode<\/h3>\n\n\n\n<p>De string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">CaesarCode<\/mark> kan worden opgevuld door, voor elke letter van <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark>, de letter te selecteren gelegen op de <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark> van het oorspronkelijk karakter verhoogd met de waarde van de rotatie (variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Rotatie<\/mark>). Als de berekende<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Plaats<\/mark> (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark>+<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Rotatie<\/mark>) buiten de lengte van <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark> valt (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Plaats<\/mark> groter dan of gelijk aan 27) dan wordt de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Plaats<\/mark> verminderd met de lengte (26) van de string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark>. Deze werkwijze moet worden uitgevoerd voor alle letters in <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark>. De variabelen <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Plaats<\/mark> en <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Positie<\/mark> kunnen worden gedefinieerd als behorend tot de Sprite Dee (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alleen voor deze sprite<\/mark>).<\/p>\n\n\n\n<p>De pseudocode voor de procedure <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">definieer_CaesarCode<\/mark> met de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Rotatie<\/mark> als parameter, kan dan als volgt worden voorgesteld:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"line-height:1.4\"><code>Initialiseer Alfabet met alle letters van het alfabet\nInitialiseer CaesarCode met een lege waarde\nInitialiseer Positie op 1\nInitialiseer Plaats op 1\nRepeat voor alle karakters van Alfabet\n   Maak de variabele Plaats gelijk aan de variabele Positie + Rotatie\n   If de variabele Plaats &gt; 26 Then\n      Verminder de variabele Plaats met 26\n   End If\n   Voeg het karakter op Plaats van Alfabet toe aan de variabele CaesarCode\n   Verhoog Positie met 1\nEnd Repeat<\/code><\/pre>\n\n\n\n<p>Het Scratch-blok kan nu als volgt worden geprogrammeerd:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_8.png\" alt=\"Procedure genereer_CaesarCode\" class=\"wp-image-804\" width=\"488\" height=\"468\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_8.png 848w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_8-300x288.png 300w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_8-768x737.png 768w\" sizes=\"auto, (max-width: 488px) 85vw, 488px\" \/><figcaption class=\"wp-element-caption\">Procedure genereer_CaesarCode<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">De tekst coderen<\/h3>\n\n\n\n<p>Om een tekst te coderen naar geheimschrift (variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GeheimTekst<\/mark>) moeten alle letters van de oorspronkelijke tekst worden vervangen door de overeenkomstige letters uit de string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">CaesarCode<\/mark>. Indien een karakter niet beschikbaar is in de string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark> dan wordt het betreffende karakter gewoon toegevoegd aan de string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GeheimTekst<\/mark>.<\/p>\n\n\n\n<p>Omdat de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GeheimTekst<\/mark> ook toegankelijk moet worden gesteld aan de Sprite Abby wordt deze variabele gedefinieerd als <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Voor alle sprites<\/mark>.<\/p>\n\n\n\n<p>De pseudocode voor de procedure <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">codeer_Tekst<\/mark> met de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Tekst<\/mark> als parameter, kan dan als volgt worden voorgesteld:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"line-height:1.4\"><code>Initialiseer GeheimTekst met een lege waarde\nInitialiseer Positie op 1\nRepeat voor alle karakters van Tekst\n   If karakter op Positie van Tekst bestaat in Alfabet\n      zoek_Plaats van karakter op Positie in Alfabet en bewaar de waarde in Plaats\n      Voeg karakter op Plaats van CaesarCode toe aan GeheimTekst\n   Else\n      Voeg karakter op Positie van Tekst toe aan GeheimTekst\n   End If\n   Verhoog Positie met 1\nEnd Repeat<\/code><\/pre>\n\n\n\n<p>Het Scratch-blok ziet er dan als volgt uit:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_9.png\" alt=\"codeer_Tekst\" class=\"wp-image-811\" width=\"573\" height=\"511\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_9.png 1106w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_9-300x268.png 300w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_9-1024x915.png 1024w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_9-768x686.png 768w\" sizes=\"auto, (max-width: 573px) 85vw, 573px\" \/><figcaption class=\"wp-element-caption\">Procedure codeer_Tekst<\/figcaption><\/figure>\n<\/div>\n\n\n<p>De <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">zoek_Plaats<\/mark>-procedure zoekt de plaats van een bepaald karakter (parameter <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Karakter<\/mark>) in een bepaalde tekst (parameter <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Tekst<\/mark>):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_10.png\" alt=\"zoek_Plaats\" class=\"wp-image-812\" width=\"338\" height=\"208\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_10.png 726w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_10-300x184.png 300w\" sizes=\"auto, (max-width: 338px) 85vw, 338px\" \/><figcaption class=\"wp-element-caption\">Procedure zoek_Plaats<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Het coderen van de oorspronkelijke tekst en het verzenden van de gecodeerde tekst kan gebeuren op het moment dat Dee het signaal <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Dee:OK<\/mark> van Abby ontvangt:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_11.png\" alt=\"Het versturen van de gecodeerde tekst\" class=\"wp-image-813\" width=\"315\" height=\"182\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_11.png 612w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_11-300x174.png 300w\" sizes=\"auto, (max-width: 315px) 85vw, 315px\" \/><figcaption class=\"wp-element-caption\">Het versturen van de gecodeerde tekst<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Geheimschrift decoderen<\/h2>\n\n\n\n<p>Op het moment dat Abby het signaal <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Abby:BerichtVerstuurd<\/mark> van Dee ontvangt kan Abby het bericht in de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GeheimTekst<\/mark> decoderen en omzetten naar verstaanbare tekst (variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GedecodeerdeTekst<\/mark>). De variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GedecodeerdeTekst<\/mark> is natuurlijk enkel voor Abby toegankelijk (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alleen voor deze sprite<\/mark>).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_12.png\" alt=\"Reageren op signaal\" class=\"wp-image-818\" width=\"315\" height=\"165\"\/><\/figure>\n<\/div>\n\n\n<p>Het <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">denk<\/mark>-blok <img loading=\"lazy\" decoding=\"async\" width=\"130\" height=\"36\" class=\"wp-image-820\" style=\"width: 130px;\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_14.png\" alt=\"denk-blok\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_14.png 304w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_14-300x83.png 300w\" sizes=\"auto, (max-width: 130px) 85vw, 130px\" \/> (categorie <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Uiterlijken<\/mark>) is vergelijkbaar met het <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">zeg<\/mark>-blok. Het <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">denk<\/mark>-blok toont een tekst in een denkwolk.<\/p>\n\n\n\n<p>De <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">decodeer_Tekst<\/mark>-procedure zal elk karakter uit de variabele <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">GeheimTekst<\/mark> omzetten naar het overeenkomstig karakter uit de string <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">Alfabet<\/mark>. De werking van de procedure <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">decodeer_Tekst<\/mark> is vrij gelijkaardig met de procedure <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">codeer_Tekst<\/mark> in de vorige paragraaf. <\/p>\n\n\n\n<p>De procedure <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">decodeer_Tekst<\/mark> kan als volgt in Scratch worden geprogrammeerd:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_13.png\" alt=\"\" class=\"wp-image-819\" width=\"591\" height=\"489\" srcset=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_13.png 1192w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_13-300x249.png 300w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_13-1024x849.png 1024w, https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/11\/Les_10_13-768x637.png 768w\" sizes=\"auto, (max-width: 591px) 85vw, 591px\" \/><figcaption class=\"wp-element-caption\">Procedure decodeer_Tekst<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 has-custom-font-size has-small-font-size\"><a class=\"wp-block-button__link has-blush-bordeaux-gradient-background has-background wp-element-button\" href=\"https:\/\/scratch.itbib4you.be\/index.php\/raar-maar-waar\/\">Volgende les<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Inleiding In de les &#8216;Communicatie tussen Sprites&#8217; wordt aangeleerd hoe Sprites berichten (in het Engels messages) kunnen uitwisselen met elkaar. Berichten zullen worden versleuteld zodat ze enkel door bepaalde Sprites kunnen worden begrepen. Encryptie verwijst naar technieken om gegevens te versleutelen vooraleer deze gegevens worden gecommuniceerd of opgeslagen. Een eenvoudig codeer algoritme wordt toegeschreven aan &hellip; <a href=\"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/\" class=\"more-link\">Lees verder<span class=\"screen-reader-text\"> &#8220;Communicatie tussen Sprites&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-753","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Communicatie tussen Sprites - Scratch 3<\/title>\n<meta name=\"description\" content=\"In de les &#039;Communicatie tussen Sprites&#039; wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/\" \/>\n<meta property=\"og:locale\" content=\"nl_BE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Communicatie tussen Sprites - Scratch 3\" \/>\n<meta property=\"og:description\" content=\"In de les &#039;Communicatie tussen Sprites&#039; wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/\" \/>\n<meta property=\"og:site_name\" content=\"Scratch 3\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-17T14:58:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/\",\"url\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/\",\"name\":\"Communicatie tussen Sprites - Scratch 3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/scratch.itbib4you.be\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Les_10_6.png\",\"datePublished\":\"2022-10-03T09:32:18+00:00\",\"dateModified\":\"2022-11-17T14:58:39+00:00\",\"description\":\"In de les 'Communicatie tussen Sprites' wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/#breadcrumb\"},\"inLanguage\":\"nl-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-BE\",\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/#primaryimage\",\"url\":\"https:\\\/\\\/scratch.itbib4you.be\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Les_10_6.png\",\"contentUrl\":\"https:\\\/\\\/scratch.itbib4you.be\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Les_10_6.png\",\"width\":718,\"height\":610},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/index.php\\\/communicatie-tussen-sprites\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/scratch.itbib4you.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Communicatie tussen Sprites\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/scratch.itbib4you.be\\\/#website\",\"url\":\"https:\\\/\\\/scratch.itbib4you.be\\\/\",\"name\":\"Scratch 3\",\"description\":\"Leer programmeren met Scratch 3\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/scratch.itbib4you.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-BE\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Communicatie tussen Sprites - Scratch 3","description":"In de les 'Communicatie tussen Sprites' wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/","og_locale":"nl_BE","og_type":"article","og_title":"Communicatie tussen Sprites - Scratch 3","og_description":"In de les 'Communicatie tussen Sprites' wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.","og_url":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/","og_site_name":"Scratch 3","article_modified_time":"2022-11-17T14:58:39+00:00","og_image":[{"url":"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"9 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/","url":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/","name":"Communicatie tussen Sprites - Scratch 3","isPartOf":{"@id":"https:\/\/scratch.itbib4you.be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/#primaryimage"},"image":{"@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/#primaryimage"},"thumbnailUrl":"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png","datePublished":"2022-10-03T09:32:18+00:00","dateModified":"2022-11-17T14:58:39+00:00","description":"In de les 'Communicatie tussen Sprites' wordt geleerd hoe geheime berichten kunnen worden verstuurd tussen Sprites.","breadcrumb":{"@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/#breadcrumb"},"inLanguage":"nl-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/"]}]},{"@type":"ImageObject","inLanguage":"nl-BE","@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/#primaryimage","url":"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png","contentUrl":"https:\/\/scratch.itbib4you.be\/wp-content\/uploads\/2022\/10\/Les_10_6.png","width":718,"height":610},{"@type":"BreadcrumbList","@id":"https:\/\/scratch.itbib4you.be\/index.php\/communicatie-tussen-sprites\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/scratch.itbib4you.be\/"},{"@type":"ListItem","position":2,"name":"Communicatie tussen Sprites"}]},{"@type":"WebSite","@id":"https:\/\/scratch.itbib4you.be\/#website","url":"https:\/\/scratch.itbib4you.be\/","name":"Scratch 3","description":"Leer programmeren met Scratch 3","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/scratch.itbib4you.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-BE"}]}},"_links":{"self":[{"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/pages\/753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/comments?post=753"}],"version-history":[{"count":29,"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/pages\/753\/revisions"}],"predecessor-version":[{"id":868,"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/pages\/753\/revisions\/868"}],"wp:attachment":[{"href":"https:\/\/scratch.itbib4you.be\/index.php\/wp-json\/wp\/v2\/media?parent=753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}