<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Moov</title>
    <description>The latest articles on Forem by Moov (@mateusmoov).</description>
    <link>https://forem.com/mateusmoov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F339080%2Ff5106b0b-cd12-4b5c-8d88-9df6d6e022c0.jpg</url>
      <title>Forem: Moov</title>
      <link>https://forem.com/mateusmoov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mateusmoov"/>
    <language>en</language>
    <item>
      <title>Is the Habbo Hotel related to programming?</title>
      <dc:creator>Moov</dc:creator>
      <pubDate>Mon, 06 May 2024 21:27:51 +0000</pubDate>
      <link>https://forem.com/mateusmoov/is-the-habbo-hotel-related-to-programming-fgp</link>
      <guid>https://forem.com/mateusmoov/is-the-habbo-hotel-related-to-programming-fgp</guid>
      <description>&lt;p&gt;Yeah, I know, the title looks weird, but trust me! I'll show in this article that the claim totally makes sense.&lt;/p&gt;

&lt;p&gt;Habbo Hotel is a virtual hotel where you can enter rooms and talk to other Habbos, play games created by the community and build relationships. You may have heard of it in the 2000s, when the game was at its peak. It was really famous in Brazil, &lt;strong&gt;reaching a peak of 50k players playing simultaneously&lt;/strong&gt;. It doesn't sound like much, but for 2010 it's a lot.&lt;/p&gt;

&lt;p&gt;Habbo Hotel was very present in my life when I was young, I met a lot of people and made a lot of friends who I still talk to. But after many years as a programmer, &lt;strong&gt;I realized one of the things about Habbo that developed my programming logic&lt;/strong&gt;. Ladies and gentlemen, I present to you an incredible and powerful item in the world of Habbo Hotel called &lt;strong&gt;Wired&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Wireds?&lt;/li&gt;
&lt;li&gt;Type of Wireds&lt;/li&gt;
&lt;li&gt;Let's get our hands dirty&lt;/li&gt;
&lt;li&gt;Event driven programming&lt;/li&gt;
&lt;li&gt;Logic Elements&lt;/li&gt;
&lt;li&gt;Connecting the points&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Wireds?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhyt3wze1tju63d1gobs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhyt3wze1tju63d1gobs.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wireds are furnis (abbreviation that the game uses to refer to furniture) who is a group of tools that allow the users to program and automate the actions inside your rooms. The users can connect different Wireds to create a chains of actions triggered by specific events, like a user saying a specific word to be teleport. &lt;/p&gt;

&lt;h2&gt;
  
  
  Type of Wireds
&lt;/h2&gt;

&lt;p&gt;They're separate by the categories: triggers, effects, conditions, negative conditions, selectors and add-ons. We won't be discussing the last two for now.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Triggers&lt;/strong&gt;: Triggers are the Wireds that will be triggered if the user performs a specific action, such as saying a specific word.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Effects&lt;/strong&gt;: The effects are what you want to happen if you activate the trigger, such as when the user says 'Hello' (trigger), it will teleport the user to a specific place (effect).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conditions&lt;/strong&gt;: I've got it. This is the famous &lt;strong&gt;if&lt;/strong&gt;. I'm going to follow the example we've set and make the effect teleport to a specified x place if the user is on a floor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Condition Negative&lt;/strong&gt;: The famous else. Okay, but if the user hasn't been to a floor that I put in the initial conditional? In our example, we put to be teleported in a y place.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's get our hands dirty
&lt;/h2&gt;

&lt;p&gt;We're going to use the example I gave at the top. Our goal is simple: &lt;strong&gt;when the user says "Hello" at the top of a specific floor, he has to be teleported&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We need these Wireds to do that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0p7bbomm4mcx5a8tmpyj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0p7bbomm4mcx5a8tmpyj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Their names tell you exactly what they do. Read carefully and you'll see.&lt;/p&gt;

&lt;p&gt;This is our starting point, we are going to do the things with Wireds here.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7tt90a6zyotf12re6i4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7tt90a6zyotf12re6i4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's start with the trigger. When the Habbo says "Hello", the Wireds will activate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxqdnhn58mtk04wt55xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxqdnhn58mtk04wt55xf.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the trigger is activated, the effect will be triggered and Habbo will be teleported to the blue floor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5dr7hzcneed34gjs525.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5dr7hzcneed34gjs525.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Wired condition, the Habbo will be teleported &lt;strong&gt;ONLY&lt;/strong&gt; if they are at the top of the grass.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4zmegnzt9gk45xq26al.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4zmegnzt9gk45xq26al.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the result we're looking for:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel4y0xsfagmlw5ve0mlh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel4y0xsfagmlw5ve0mlh.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the Habbo is not on the grass, nothing happens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F405goucvdd0t4zc5co5g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F405goucvdd0t4zc5co5g.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The negative condition is the same thing, but with this one, if the user &lt;strong&gt;isn't&lt;/strong&gt; at the top of the grass, they'll teleport to the blue floor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspvbbbw1h88yy8tlmymw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspvbbbw1h88yy8tlmymw.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's just the tip of the iceberg. There are many more creative and impressive examples like:&lt;/p&gt;

&lt;p&gt;The Snake Game&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1503392183432458246-408" src="https://platform.twitter.com/embed/Tweet.html?id=1503392183432458246"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1503392183432458246-408');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1503392183432458246&amp;amp;theme=dark"
  }



 &lt;/p&gt;

&lt;p&gt;Or Tetris&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1608474955104096257-826" src="https://platform.twitter.com/embed/Tweet.html?id=1608474955104096257"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1608474955104096257-826');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1608474955104096257&amp;amp;theme=dark"
  }



 &lt;/p&gt;

&lt;p&gt;&lt;em&gt;I understand how Wired's works, but I want to know how this is related to programming...&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Event driven programming
&lt;/h2&gt;

&lt;p&gt;Event-driven programming is the way to go. It's a paradigm of programming that focuses on the interaction between components through events. These events can be generated by user actions or internal actions in our system. Let's take Habbo as an example. &lt;strong&gt;When a user interacts with the Wired, they answer to a predefined action, creating a dynamic experience and making the user feel interactive.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Logic Elements
&lt;/h2&gt;

&lt;p&gt;The Wireds is related to event-driven programming, and &lt;strong&gt;it can also relate to logic elements&lt;/strong&gt;. These are essential elements in programming that focus on deriving conclusions based on a set of rules or facts that come from the relationships between entities.&lt;/p&gt;

&lt;p&gt;In the Habbo Wireds, users can set the complexity condition logic using the &lt;strong&gt;"IF, THEN, ELSE"&lt;/strong&gt; declarations.&lt;br&gt;
Using the example we made, the logic looks like this in code:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;speak&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;place&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;grass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;userTeleportToBlueFloor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The negative condition is as follows:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;speak&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;place&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;grass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;br&gt;
    &lt;span class="nf"&gt;userTeleportToBlueFloor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;br&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Connecting the points&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;The combination of event-driven programming and essential programming elements is evident in the Habbo Wireds, showcasing the versatility and power of these two concepts. &lt;strong&gt;The Habbos can create complex places, interactives that adapt to user interactions and the dynamic of the game when they use both parts&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The use of Habbo Wireds is an excellent way to introduce players to fundamental concepts of programming and logic. It encourages &lt;strong&gt;creativity, problem-solving, and critical thinking, essential skills that are valuable both in the virtual world of Habbo and in the real world in a programmer's career&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This article proves that Habbo Hotel has complete relationship with programming, both with logic elements and as event-driven programming. It shows how the Wireds work and how they correlate.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Como Habbo Hotel está relacionado a programação?</title>
      <dc:creator>Moov</dc:creator>
      <pubDate>Mon, 29 Apr 2024 15:09:43 +0000</pubDate>
      <link>https://forem.com/mateusmoov/como-habbo-hotel-esta-relacionado-a-programacao-21o8</link>
      <guid>https://forem.com/mateusmoov/como-habbo-hotel-esta-relacionado-a-programacao-21o8</guid>
      <description>&lt;p&gt;É, eu sei, você provavelmente leu o titulo e deve tá se perguntando como diabos isso é relacionado a programação, mas tem uma explicação muito boa, juro.&lt;/p&gt;

&lt;p&gt;O Habbo Hotel é um hotel virtual &lt;del&gt;ou multiverso, dependendo da brisa que você tá&lt;/del&gt;, onde você navega por quartos e conversa com outros Habbos. Você deve ter ouvido falar disso lá em 2009-2010, época em que o jogo estava em seu maior pico de jogadores.&lt;/p&gt;

&lt;p&gt;Habbo Hotel sempre foi presente na minha adolescência, conheci vários amigos lá que mantenho contato até hoje, mas ao longo dos anos como programador, eu parei pra pensar em uma das coisas que são presentes no Habbo Hotel e que hoje eu penso que &lt;strong&gt;isso desenvolveu muito bem a minha lógica na programação não intencionalmente.&lt;/strong&gt; Meus amigos, eu apresento a vocês um item poderoso no mundo pixelado do Habbo, que se chama &lt;strong&gt;Wireds&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;O que são Wireds?&lt;/li&gt;
&lt;li&gt;Tipos de Wireds&lt;/li&gt;
&lt;li&gt;Na prática&lt;/li&gt;
&lt;li&gt;Programação Orientada a Eventos&lt;/li&gt;
&lt;li&gt;Elementos Lógicos&lt;/li&gt;
&lt;li&gt;Ligando os Pontos&lt;/li&gt;
&lt;li&gt;Conclusão&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O que são Wireds?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fripsceykjpw2yfp9smky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fripsceykjpw2yfp9smky.png" alt="Uma imagem mostra uma pilha de 'Wireds' do Habbo Hotel. Cada 'Wired' é um pequeno dispositivo quadrado com conectores e fios visíveis. Eles são coloridos, variando entre verde, vermelho, azul e amarelo. Os 'Wireds' estão empilhados uns sobre os outros de forma desordenada" width="355" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wireds são mobis (abreviação que o jogo usa para mobilias) que são um conjunto de ferramentas que permitem aos jogadores programar e automatizar ações dentro dos seus quartos. Os Habbos podem conectar diferentes Wireds para criar cadeias de ações desencadeadas por eventos específicos, como um usuário digitando uma palavra específica para ser teleportado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tipos de Wireds
&lt;/h2&gt;

&lt;p&gt;Eles são separados pelas categorias, ativadores, efeitos, condições, condições negativas, seletores e extras, mas esses dois últimos não falaremos no momento.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ativadores&lt;/strong&gt;: Os ativadores ou triggers são os wireds que vão ser ativados caso o usuário faça alguma ação configurada, como falar uma palavra específica.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Efeitos&lt;/strong&gt;: Os efeitos são o que você quer que aconteça caso você ative o trigger, como por exemplo quando o usuário falar 'salve' (ativador), ele vai teleportar o usuário para um lugar específico (efeito).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Condições&lt;/strong&gt;: Esse você conhece né? O famoso &lt;strong&gt;IF&lt;/strong&gt;. No caso, seguindo o exemplo que estamos construindo, a condição pode ser em um exemplo em que, caso o usuário estiver em cima de um piso, eu quero que ele faça esse efeito de teleportar o usuário pra um lugar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Condições Negativas&lt;/strong&gt;: Esse seria nosso famoso &lt;strong&gt;else&lt;/strong&gt;. Beleza, mas se o usuário não estiver em cima do piso que eu coloquei na condição inicial? No nosso exemplo, vamos colocar ele pra ser teletransportado pra outro lugar.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Na prática
&lt;/h2&gt;

&lt;p&gt;Vamos usar o exemplo que eu escrevi exemplificando cada Wired, nosso objetivo é simples, &lt;strong&gt;quando o usuário falar 'salve' em cima em um piso especifico, que ele seja teleportado.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Para fazer isso a gente vai usar estes wireds:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fghc2rfim8ryxdcl3kw0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fghc2rfim8ryxdcl3kw0v.png" alt="Image description" width="484" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O nome deles explica por sí só o que eles fazem, então se puder, leia bem o que cada um faz.&lt;/p&gt;

&lt;p&gt;Teremos esse quarto como ponto principal, no piso azul onde queremos ser teleportados.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flf6tnwvlo4modbc5pgh3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flf6tnwvlo4modbc5pgh3.png" alt="Image description" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos começando com o ativador, coloquei que quando o Habbo falar 'salve' vai ativar os Wireds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0s3tvo9vir2v4y48l24.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0s3tvo9vir2v4y48l24.png" alt="Image description" width="435" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Logo após vamos configurar o efeito, quando o trigger for ativado, o efeito vai ser ativado também teleportando o Habbo para o piso azul.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5vjpo2o96jpqnh1mgn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5vjpo2o96jpqnh1mgn1.png" alt="Image description" width="569" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Indo para as condições, eu vou ser teleportado para o piso azul &lt;strong&gt;SOMENTE&lt;/strong&gt; se eu estiver em cima da grama.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwyb8svjbyjsyxseynq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwyb8svjbyjsyxseynq4.png" alt="Image description" width="554" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E temos como resultado: &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funupelj571hn8cktuyv2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funupelj571hn8cktuyv2.gif" alt="Image description" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Caso não esteje em cima da grama, não acontece nada.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b83w87qulti06c98ube.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b83w87qulti06c98ube.gif" alt="Image description" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Usando a condição negativa ficaria a mesma coisa, mas agora a condição se torna: se o usuário não estiver em cima da grama, teleporte ele para o piso azul.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy372gk9iaqwlgf88cmt4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy372gk9iaqwlgf88cmt4.gif" alt="Image description" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Isso foi um exemplo simples mas apenas a ponta do iceberg do que isso é capaz de fazer, temos vários exemplos criativos e impressionantes que os usuários colocam, como por exemplo: &lt;/p&gt;

&lt;p&gt;Jogo da Cobrinha&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1503392183432458246-270" src="https://platform.twitter.com/embed/Tweet.html?id=1503392183432458246"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1503392183432458246-270');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1503392183432458246&amp;amp;theme=dark"
  }



 &lt;/p&gt;

&lt;p&gt;Ou até Tetris&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1608474955104096257-271" src="https://platform.twitter.com/embed/Tweet.html?id=1608474955104096257"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1608474955104096257-271');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1608474955104096257&amp;amp;theme=dark"
  }



 &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Beleza, mas depois dessa explicação toda, como que isso se relaciona com programação?&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Programação Orientada a Eventos
&lt;/h2&gt;

&lt;p&gt;Programação Orientada a Eventos é um paradigma de programação que se concentra na interação entre componentes do software por meio de eventos. Esses eventos podem ser gerados por ações do usuário ou mesmo por ações internas do nosso próprio sistema. No caso do exemplo com Habbo Hotel, quando um evento ocorre, o Wired correspondente (ou conjunto de Wireds) executa uma ação predefinida, criando experiências dinâmicas e interativas para os usuários.&lt;/p&gt;
&lt;h2&gt;
  
  
  Elementos Lógicos
&lt;/h2&gt;

&lt;p&gt;Embora os Wireds do Habbo operem principalmente em um modelo orientado a eventos, &lt;strong&gt;eles também incorporam elementos lógicos&lt;/strong&gt;. Esses elementos são elementos essenciais na programação que focam em derivar conclusões baseados em um conjunto de regras ou fatos vindos das relações entre entidades.&lt;/p&gt;

&lt;p&gt;Nos wireds do Habbo, os usuários podem configurar condições lógicas complexas usando as declarações "SE...ENTÃO...SENÃO".&lt;br&gt;
Usando o exemplo que fizemos, se transformarmos em código conseguiríamos uma lógica parecida com essa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;speak&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;salve&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;place&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;grass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;userTeleportToBlueFloor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ou a condicional negativa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;speak&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;salve&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;place&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;grass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;userTeleportToBlueFloor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ligando os Pontos
&lt;/h2&gt;

&lt;p&gt;A combinação entre a programação orientada a eventos e os elementos essenciais da programação nos Wireds do Habbo mostra a variedade e o poder de combinar esses dois conceitos. Aproveitando essas duas partes, &lt;strong&gt;os Habbianos podem projetar ambientes complexos, interativos que se adaptam às interações do usuário e à dinâmica do jogo.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Além disso, o uso de Wireds no Habbo serve como uma forma educacional, introduzindo os jogadores a conceitos fundamentais de programação e lógica sem mesmo não tendo o objetivo para isso. Ele encoraja a criatividade, a resolução de problemas e o pensamento crítico, habilidades essenciais que são valiosas tanto no mundo virtual do Habbo quanto no mundo real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Esse artigo foi para provar o ponto que Habbo Hotel tem completa relação com programação, tanto como elementos lógicos como uma programação orientada a eventos. Mostrando brevemente como funciona os Wireds e como eles correlacionam. &lt;/p&gt;

</description>
      <category>habbo</category>
      <category>programming</category>
      <category>beginners</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>O porquê você deve fazer Live Coding</title>
      <dc:creator>Moov</dc:creator>
      <pubDate>Sat, 12 Feb 2022 08:51:57 +0000</pubDate>
      <link>https://forem.com/mateusmoov/o-porque-voce-deve-fazer-live-coding-5e3</link>
      <guid>https://forem.com/mateusmoov/o-porque-voce-deve-fazer-live-coding-5e3</guid>
      <description>&lt;h2&gt;
  
  
  O que é o Live Coding
&lt;/h2&gt;

&lt;p&gt;Como primeiro post no dev.to, nada mais justo de falar sobre uma das ações que podem ter colaborado muito na minha carreira como desenvolvedor, o Live Coding. Como o nome já diz, o Live Coding consiste em simplesmente você codar, seja qualquer projeto, e fazer live ao mesmo tempo &lt;del&gt;pareceu muito óbvio escrevendo mas pra quem não entendeu, tá aí!&lt;/del&gt;.&lt;/p&gt;

&lt;p&gt;Hoje a prática de Live Coding é uma categoria que está crescendo bastante na Twitch, segue abaixo o quão a categoria Science &amp;amp; Technology cresceu nos últimos anos:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1j41mv3wyt5nns9chm7e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1j41mv3wyt5nns9chm7e.png" alt="Dados do [SullyGnome](https://sullygnome.com/game/Science_and_Technology)" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A partir disso, separei alguns tópicos para te dar os motivos do &lt;strong&gt;porquê você deve fazer Live Coding&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Foco
&lt;/h2&gt;

&lt;p&gt;Esse foi um dos motivos de eu começar a fazer lives, e ainda é. A procrastinação está muito presente, e o fato de abrir live, te passa um sentimento de obrigação de programar.&lt;/p&gt;

&lt;p&gt;E a parte do foco pode-se aplicar não só para a parte de Coding, mas também para muitas outras áreas, faculdade, matérias de escola, tudo! O que você tem que fazer é somente abrir a live e estudar, ou melhor, explicar o que você está fazendo como estivesse alguém te assistindo, e pode ter até alguém te assistindo mesmo interessado no mesmo tópico, e a consequência disso leva pra outro tópico…&lt;/p&gt;

&lt;h2&gt;
  
  
  Networking
&lt;/h2&gt;

&lt;p&gt;Imagina só, você está lá fazendo live estudando HTML e CSS e chega uma pessoa no seu chat explicando o porquê de uma div não está sendo posicionada no meio, e a partir daí você consegue suprir um conhecimento a partir do ensinamento do viewer da sua live, OLHA QUE COISA FANTÁSTICA. &lt;/p&gt;

&lt;p&gt;E além disso, fazer live permite você conhecer pessoas fantásticas com uma bagagem enorme que podem te ensinar várias coisas e até mesmo aprender com o que você está estudando, eu mesmo consegui meu primeiro emprego a partir de uma pessoa que eu conheci pelas lives. &lt;/p&gt;

&lt;h2&gt;
  
  
  Coworking
&lt;/h2&gt;

&lt;p&gt;Uma das coisas curiosas que acontecem quando alguém está codando ou outra coisa do tipo, é que você consegue motivar as pessoas que estão te assistindo a estudar, ou até mesmo encontrar uma solução pra um bug que você está preso há horas, eu não sei muito bem como explicar isso, mas acontece bastante.&lt;/p&gt;




&lt;p&gt;Espero que a partir desses pontos que citei aqui, você possa se sentir motivado a fazer live coding, ou até assistir alguma. Você pode clicar &lt;a href="https://www.twitch.tv/moovhe4rt/"&gt;aqui &lt;/a&gt;e visitar minha live, se eu estiver offline, sempre avisarei no meu &lt;a href="https://twitter.com/moovhe4rt"&gt;twitter &lt;/a&gt;quando estiver online!&lt;br&gt;
Até a próxima! ;)&lt;/p&gt;

</description>
      <category>coding</category>
      <category>programming</category>
      <category>live</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
