<?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: Anjali Jha</title>
    <description>The latest articles on Forem by Anjali Jha (@anjalijha22).</description>
    <link>https://forem.com/anjalijha22</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%2F533419%2Fc1bbe11a-fa78-4f5c-9186-07d686ec0667.jpeg</url>
      <title>Forem: Anjali Jha</title>
      <link>https://forem.com/anjalijha22</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anjalijha22"/>
    <language>en</language>
    <item>
      <title>Machine Coding - Vending Machine</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Tue, 19 Aug 2025 19:17:27 +0000</pubDate>
      <link>https://forem.com/anjalijha22/machine-coding-vending-machine-1e1d</link>
      <guid>https://forem.com/anjalijha22/machine-coding-vending-machine-1e1d</guid>
      <description>&lt;p&gt;In this article, I will try my hands on designing and implementing a solution for vending machine using Golang&lt;/p&gt;

&lt;h2&gt;
  
  
  The requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The vending machine should support multiple products with different prices and quantities.&lt;/li&gt;
&lt;li&gt;The machine should accept coins and notes of different denominations.&lt;/li&gt;
&lt;li&gt;The machine should dispense the selected product and return change if necessary.&lt;/li&gt;
&lt;li&gt;The machine should keep track of the available products and their quantities.&lt;/li&gt;
&lt;li&gt;The machine should handle multiple transactions concurrently and ensure data consistency.&lt;/li&gt;
&lt;li&gt;The machine should provide an interface for restocking products and collecting money.&lt;/li&gt;
&lt;li&gt;The machine should handle exceptional scenarios, such as insufficient funds or out-of-stock products.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Analysis
&lt;/h2&gt;

&lt;p&gt;Upon seeing the question, I can figure that the machine works differently based on its state. These states can be-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No money inserted (Idle)&lt;/li&gt;
&lt;li&gt;Has money but not yet purchased (HasMoney)&lt;/li&gt;
&lt;li&gt;Currently dispensing (Dispensing)&lt;/li&gt;
&lt;li&gt;Return money/change (ReturnChange)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of huge if/else blocks, we can use the State Pattern which lets each state define valid actions (InsertMoney, SelectProduct, Cancel).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flow Example&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Machine starts in idleState.&lt;/li&gt;
&lt;li&gt;User inserts coin → IdleState.InsertCoin() is called → moves to readyState.&lt;/li&gt;
&lt;li&gt;User selects product → ReadyState.SelectProduct() checks stock + payment.&lt;/li&gt;
&lt;li&gt;If enough payment → transitions to dispenseState, calls DispenseProduct().&lt;/li&gt;
&lt;li&gt;If change needed → transitions to returnChangeState, calls ReturnChange().&lt;/li&gt;
&lt;li&gt;After transaction → back to idleState.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The approach here will be to first create an interface which defines possible actions. We will then implement the interface using object instance.&lt;/p&gt;

&lt;p&gt;We will also need few classes here&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product: which shows the product of vending machine&lt;/li&gt;
&lt;li&gt;Coin and Note : represent the denominations of coins and notes&lt;/li&gt;
&lt;li&gt;VendingMachine : main class that represents the vending machine&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Application
&lt;/h2&gt;

&lt;p&gt;We will first create state interface, assuming we have struct in place for Product(name, price, qty), Coin (penny, quarter), Note(ten,twenty)-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type VendingMachineState interface {
    SelectProduct(product *Product)
    InsertCoin(coin Coin)
    InsertNote(note Note)
    DispenseProduct()
    ReturnChange()
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we will create VendingMachine context struct. This holds products, cash inventory, balance, and current state and provides methods for state transitions and payment handling.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type VendingMachine struct {
    inventory         map[*Product]int
        //state
    idleState         VendingMachineState
    readyState        VendingMachineState
    dispenseState     VendingMachineState
    returnChangeState VendingMachineState
    currentState      VendingMachineState
       // transaction/runtime
    selectedProduct   *Product
    totalPayment      float64
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We initialize a new Vending Machine. This creates a vending machine with an empty inventory and concrete state objects (IdleState, ReadyState, etc.). It follows the Singleton pattern to ensure only one instance of the vending machine exists. The snippet also has delegation methods.This means the behavior changes depending on the current state.-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;func NewVendingMachine() *VendingMachine {
    vm := &amp;amp;VendingMachine{
        inventory: NewInventory(),
    }
    vm.idleState = &amp;amp;IdleState{vm}
    vm.readyState = &amp;amp;ReadyState{vm}
    vm.dispenseState = &amp;amp;DispenseState{vm}
    vm.returnChangeState = &amp;amp;ReturnChangeState{vm}
    vm.currentState = vm.idleState
    return vm
}
func (vm *VendingMachine) SelectProduct(product *Product) {
    vm.currentState.SelectProduct(product)
}

func (vm *VendingMachine) InsertCoin(coin Coin) {
    vm.currentState.InsertCoin(coin)
}

func (vm *VendingMachine) InsertNote(note Note) {
    vm.currentState.InsertNote(note)
}

func (vm *VendingMachine) DispenseProduct() {
    vm.currentState.DispenseProduct()
}

func (vm *VendingMachine) ReturnChange() {
    vm.currentState.ReturnChange()
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can also create few utility methods to set state, resetPayment.&lt;/p&gt;

&lt;p&gt;Now to the main part - &lt;br&gt;
The magic happens in concrete state implementations. Each state (IdleState, ReadyState, etc.) implements the VendingMachineState methods. They decide when to call SetState to move to another state. For example -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// IdleState struct
type IdleState struct {
    vendingMachine *VendingMachine
}

func (s *IdleState) SelectProduct(product *Product) {
    if s.vendingMachine.inventory.IsAvailable(product) {
        s.vendingMachine.selectedProduct = product
        s.vendingMachine.SetState(s.vendingMachine.readyState)
        fmt.Println("Product selected:", product.name)
    } else {
        fmt.Println("Product not available:", product.name)
    }
}

func (s *IdleState) InsertCoin(coin Coin) { fmt.Println("Please select a product first.") }
func (s *IdleState) InsertNote(note Note) { fmt.Println("Please select a product first.") }
func (s *IdleState) DispenseProduct()     { fmt.Println("Please select a product and make payment.") }
func (s *IdleState) ReturnChange()        { fmt.Println("No change to return.") }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similarly other states can be implemented. You can add a demo file to demonstrate the entire functionality by adding products to the inventory, selecting products, inserting coins and notes, dispensing products, and returning change.&lt;/p&gt;

&lt;p&gt;Hope this helps! Always open to suggestions for improvement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fnj6b05bi761qm7zobhf2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnj6b05bi761qm7zobhf2.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>designpatterns</category>
      <category>solidprinciples</category>
      <category>career</category>
    </item>
    <item>
      <title>How to be a Microsoft Learn Student Ambassador</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Tue, 23 Nov 2021 14:35:13 +0000</pubDate>
      <link>https://forem.com/anjalijha22/how-to-be-a-microsoft-learn-student-ambassador-1c0k</link>
      <guid>https://forem.com/anjalijha22/how-to-be-a-microsoft-learn-student-ambassador-1c0k</guid>
      <description>&lt;h3&gt;
  
  
  What is MLSA Program?
&lt;/h3&gt;

&lt;p&gt;Recently I was selected as MLSA.&lt;br&gt;
It is a program where the student developers learn using the resources provided by Microsoft on the trending technologies and then educate their fellow students on various Technical Skills. It helps building digital communities and connecting with students who share similar passion. &lt;/p&gt;

&lt;h3&gt;
  
  
  Application and eligibility
&lt;/h3&gt;

&lt;p&gt;You can fill the application form throughout the year, although MLSAs are recruited on a quarterly basis. You can apply at- &lt;br&gt;
&lt;a href="https://studentambassadors.microsoft.com/" rel="noopener noreferrer"&gt;Microsoft Learn Student Ambassador&lt;/a&gt;&lt;br&gt;
Here you would have to answer various questions-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fill the form with your basic personal and academic information.&lt;/li&gt;
&lt;li&gt;The "Written Sample" section is the most important part of the application. This is what decides your outcome and thus needs major effort. It requires you to answer three questions, one in video and two in written format. &lt;/li&gt;
&lt;li&gt;While responding to these questions make sure you answer them in a detailed manner. Write about your motive and passion to the community and the ways in which you can help to expand it. Make a video answer for the question you are most confident about. The video should be brief and presentable describing your response clearly.&lt;/li&gt;
&lt;li&gt;In the "social media" section, try to fill as many fields as possible. This increases your chances of selection and provides an overview of your connectivity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You will be informed about your selection or rejection through mail. &lt;br&gt;
Hope this article helps.&lt;/p&gt;

&lt;p&gt;All the best!!!&lt;/p&gt;

</description>
      <category>mlsa</category>
      <category>microsoftlearn</category>
    </item>
    <item>
      <title>How I cleared AWS Certified Cloud Practitioner</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Mon, 06 Sep 2021 19:27:16 +0000</pubDate>
      <link>https://forem.com/anjalijha22/how-i-cleared-aws-certified-cloud-practitioner-4g7a</link>
      <guid>https://forem.com/anjalijha22/how-i-cleared-aws-certified-cloud-practitioner-4g7a</guid>
      <description>&lt;p&gt;Recently I successfully passed my AWS Certified Cloud Practitioner (CLF-C01) exam. Here, I want to share my experiences, so you can judge better on why you should go for the certification, and how to prepare.&lt;/p&gt;

&lt;p&gt;I got the opportunity to write the test through SheBuilds-CloudU program run by AWS. It's an eight week self paced learning program with a very supportive and positive community of mentors and participants from all around the world. I would definitely recommend it to females trying to explore cloud. &lt;br&gt;
&lt;em&gt;To know more&lt;/em&gt;:&lt;br&gt;
&lt;a href="https://awscloudushebuildcpeapj.splashthat.com/" rel="noopener noreferrer"&gt;https://awscloudushebuildcpeapj.splashthat.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  About the certification
&lt;/h3&gt;

&lt;p&gt;It gives you exposure to cloud fluency, foundational AWS knowledge and tests your basic knowledge of AWS platform.&lt;br&gt;
&lt;a href="https://aws.amazon.com/certification/certified-cloud-practitioner/" rel="noopener noreferrer"&gt;https://aws.amazon.com/certification/certified-cloud-practitioner/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The preparation
&lt;/h3&gt;

&lt;p&gt;Overall, I had eight weeks from when I signed-up – to the day of the exam. This was clearly more than enough time to prepare. If you're a student like me, who has other commitments as well and whose only purpose is to clear the exam then a week of studying is enough. Nonetheless if you want to gain more exposure and knowledge, then you can avail hands-on-lab tutorials and explore AWS a lot more.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To get a raw idea about the exam and to get started, visit: 
&lt;a href="https://aws.amazon.com/training/" rel="noopener noreferrer"&gt;https://aws.amazon.com/training/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/certification/certification-prep/" rel="noopener noreferrer"&gt;https://aws.amazon.com/certification/certification-prep/&lt;/a&gt; provides you with exam guides and sample questions which gives the idea about areas of focus in the exam. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.aws.training/Details/Curriculum?id=27076" rel="noopener noreferrer"&gt;https://www.aws.training/Details/Curriculum?id=27076&lt;/a&gt; is a free digital course provided by AWS to help clear your exam.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;According to me reading AWS whitepapers, FAQ and practicing sample questions make clearing the exam easier. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Some of the free resources&lt;/em&gt;-
&lt;/h3&gt;

&lt;h5&gt;
  
  
  AWS Whitepapers &amp;amp; Guides
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/whitepapers" rel="noopener noreferrer"&gt;https://aws.amazon.com/whitepapers&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  AWS Exam Preparation Overview
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/certification/certification-prep/testing" rel="noopener noreferrer"&gt;https://aws.amazon.com/certification/certification-prep/testing&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Practice exam
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://www.awsboy.com/aws-practice-exams/practitioner" rel="noopener noreferrer"&gt;https://www.awsboy.com/aws-practice-exams/practitioner&lt;/a&gt;&lt;br&gt;
&lt;a href="https://testoutce.com/pages/aws-certified-cloud-practitionerpractice-quiz-clf-c01-quiz-1" rel="noopener noreferrer"&gt;https://testoutce.com/pages/aws-certified-cloud-practitionerpractice-quiz-clf-c01-quiz-1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope it helps!!!&lt;br&gt;
&lt;a href="https://media2.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%2Fx8odk80sbdfms8cxuq2c.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fx8odk80sbdfms8cxuq2c.gif" alt="pic" width="498" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
    </item>
    <item>
      <title>CSS Charts/Graphs</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Wed, 11 Aug 2021 19:25:09 +0000</pubDate>
      <link>https://forem.com/anjalijha22/css-charts-graphs-5glc</link>
      <guid>https://forem.com/anjalijha22/css-charts-graphs-5glc</guid>
      <description>&lt;p&gt;I have recently learnt how to add graphs and charts to websites. It helps to keep your data representation organized, presentable and easy to comprehend. One of the easiest method of doing so is through &lt;strong&gt;Google Charts&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To get started&lt;/em&gt;-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://developers.google.com/chart" rel="noopener noreferrer"&gt;https://developers.google.com/chart&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Navigate to guide section and then select chart gallery. You will be presented with different kinds of maps to choose from.&lt;/li&gt;
&lt;li&gt;Choose the map of your choice and head into it's code description.&lt;/li&gt;
&lt;li&gt;Copy the script section to the head section of your HTML. Also copy the div in the body section of the code description to specify the dimensions.&lt;/li&gt;
&lt;li&gt;That's it, you have now added a graph to your HTML file. You can customize it by changing the parameters and the content of the graph to suit your needs. 
Example-&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Anjali404/embed/rNmPvVw?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;You can also modify it to 3D, rotating, donut and can add various other properties. &lt;br&gt;
Hope it helps!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fcibm8cso68fbsgkplcpe.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fcibm8cso68fbsgkplcpe.gif" alt="pic" width="220" height="142"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>css</category>
      <category>codepen</category>
    </item>
    <item>
      <title>Creating a Hamburger Menu</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Mon, 02 Aug 2021 06:29:20 +0000</pubDate>
      <link>https://forem.com/anjalijha22/creating-a-hamburger-menu-36lc</link>
      <guid>https://forem.com/anjalijha22/creating-a-hamburger-menu-36lc</guid>
      <description>&lt;p&gt;The hamburger icon is simply a symbol that has come to mean "menu". It's used to toggle a menu or navigation bar between being collapsed behind the button or displayed on the screen. &lt;br&gt;
&lt;a href="https://media2.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%2Fgt5xtiacq4sjqmxuz2d7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgt5xtiacq4sjqmxuz2d7.gif" alt="gif" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is how to create it-&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;em&gt;1. HTML File&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;We start by creating our HTML file and initializing two classes to target our elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;body&amp;gt;
  &amp;lt;div class="menu-btn"&amp;gt;
    &amp;lt;div class="menu-btn__burger"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;em&gt;2. CSS File&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Here we start creating and designing our hamburger icon. We start with basic properties such as defining the width, height and the transition. This creates the basic outline of the box.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.menu-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  cursor: pointer;
  transition: all .5s ease-in-out;
  border: 3px solid #fff; 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2F478lqn12p023bbjcr846.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F478lqn12p023bbjcr846.png" alt="pic" width="383" height="215"&gt;&lt;/a&gt;&lt;br&gt;
To get the middle line (out of the three) of our icon we define width, height and border radius as follows-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.menu-btn__burger {
  width: 50px;
  height: 6px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(255,101,47,.2);
  transition: all .5s ease-in-out;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Fgz2wro8c3f0qqwaqoduv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgz2wro8c3f0qqwaqoduv.png" alt="pic" width="605" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get the other two top and bottom lines-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.menu-btn__burger::before,
.menu-btn__burger::after {
  content: '';
  position: absolute;
  width: 50px;
  height: 6px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(255,101,47,.2);
  transition: all .5s ease-in-out;
}
.menu-btn__burger::before {
  transform: translateY(-16px);
}
.menu-btn__burger::after {
  transform: translateY(16px);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Fdoaakccr3ti3rva5ww6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fdoaakccr3ti3rva5ww6m.png" alt="pic" width="377" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;em&gt;JS File&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Here we work with the animation of the hamburger icon. We target the "menu-btn" class and initialize a variable "menuopen" to be false. We add an eventListener "click" which either adds or removes the class "open".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const menuBtn = document.querySelector('.menu-btn');
let menuOpen = false;
menuBtn.addEventListener('click', () =&amp;gt; {
  if(!menuOpen) {
    menuBtn.classList.add('open');
    menuOpen = true;
  } else {
    menuBtn.classList.remove('open');
    menuOpen = false;
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. &lt;em&gt;Final Touch&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;At last, we need to retouch our CSS for the final animation. Here our middle line moves to the left and other two rotate to 45 deg on click.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.menu-btn.open .menu-btn__burger {
  transform: translateX(-50px);
  background: transparent;
  box-shadow: none;
}
.menu-btn.open .menu-btn__burger::before {
  transform: rotate(45deg) translate(35px, -35px);
}
.menu-btn.open .menu-btn__burger::after {
  transform: rotate(-45deg) translate(35px, 35px);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the final preview- &lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Anjali404/embed/NWjzBjw?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Hope it helps!!!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Useful VS Code Extensions</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Thu, 29 Jul 2021 04:31:41 +0000</pubDate>
      <link>https://forem.com/anjalijha22/useful-vs-code-extensions-mhg</link>
      <guid>https://forem.com/anjalijha22/useful-vs-code-extensions-mhg</guid>
      <description>&lt;p&gt;Here are some efficient VS Code extensions which will help improve your productivity and workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fqwq15zklloiyhxjcmpqv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqwq15zklloiyhxjcmpqv.gif" alt="pic" width="490" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. indent-rainbow
&lt;/h3&gt;

&lt;p&gt;It is a simple extension to make indentation more readable. This extension colorizes the indentation in front of your text alternating four different colors on each step. Some may find it helpful in writing code for Python. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Live-Server
&lt;/h3&gt;

&lt;p&gt;It is one of the most used extension. It launches a local development server with live reload feature for static &amp;amp; dynamic pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. auto rename tag
&lt;/h3&gt;

&lt;p&gt;Useful for writing substantial lines of code. When you rename one HTML/XML tag, it automatically renames the paired HTML/XML tag thus making the process easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. CSS Peek
&lt;/h3&gt;

&lt;p&gt;If you hate having to toggle over to your .css file to check the properties attached to a class or id, with CSS Peek, you can view a hover image of your CSS from within you HTML file. This extension also turns class names and ids into a hyper link that takes you directly to that class or id definition in your CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Prettier
&lt;/h3&gt;

&lt;p&gt;Prettier - Code Formatter is incredibly popular for auto-formatting. It automatically formats your code on saving thus making it more organized and easy to work with. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Creating a custom scrollbar</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Mon, 19 Jul 2021 14:28:50 +0000</pubDate>
      <link>https://forem.com/anjalijha22/creating-a-custom-scrollbar-k1o</link>
      <guid>https://forem.com/anjalijha22/creating-a-custom-scrollbar-k1o</guid>
      <description>&lt;p&gt;Recently, I figured out about customizing scrollbars. Adding custom scrollbars to websites you make, helps enhance it even further and also helps in overall color-coordination.&lt;/p&gt;

&lt;p&gt;To start with, we use ::-webkit-scrollbar.It can be included in your CSS section. It's a pseudo element used to modify the look of a browser’s scrollbar. Most browsers other than firefox support this.&lt;/p&gt;

&lt;p&gt;A sample example of the code would be-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* width */
::-webkit-scrollbar {
  width: 10px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This section targets the width of your scrollbar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This relates to the progress bar. Properties such as border radius, box shadow can also be added.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It specifies the properties of the scrolling handle that can be dragged. &lt;br&gt;
To design that even further you can try-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will change the color upon hovering.&lt;/p&gt;

&lt;h4&gt;
  
  
  Similarly some of the other pseudo elements you can use are-
&lt;/h4&gt;

&lt;h4&gt;
  
  
  ::-webkit-scrollbar-button
&lt;/h4&gt;

&lt;p&gt;the buttons on the scrollbar (arrows pointing upwards and downwards).&lt;/p&gt;

&lt;h4&gt;
  
  
  ::-webkit-scrollbar-track-piece
&lt;/h4&gt;

&lt;p&gt;the track (progress bar) NOT covered by the handle.&lt;/p&gt;

&lt;h4&gt;
  
  
  ::-webkit-scrollbar-corner
&lt;/h4&gt;

&lt;p&gt;the bottom corner of the scrollbar, where both horizontal and vertical scrollbars meet&lt;br&gt;
&lt;em&gt;and many more&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hope it helps!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F4jmxvam8rgm4ctzd89io.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F4jmxvam8rgm4ctzd89io.gif" alt="End" width="220" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>webdev</category>
      <category>css</category>
    </item>
    <item>
      <title>Adding Social Media icons in HTML</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Tue, 13 Jul 2021 05:42:38 +0000</pubDate>
      <link>https://forem.com/anjalijha22/adding-social-media-icons-in-html-o9</link>
      <guid>https://forem.com/anjalijha22/adding-social-media-icons-in-html-o9</guid>
      <description>&lt;p&gt;If you are new to web development, you might have wondered how to add social media icons to your website to help expand its reach and connectivity. I figured out just few days ago-&lt;/p&gt;

&lt;p&gt;There are various options, but I used a popular toolkit called Font Awesome.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1:
&lt;/h4&gt;

&lt;p&gt;To get started, open the link below-&lt;br&gt;
&lt;a href="https://fontawesome.com/" rel="noopener noreferrer"&gt;https://fontawesome.com/&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 2:
&lt;/h4&gt;

&lt;p&gt;Click on start for free and enter your email id to receive a kit code. You will receive an email for confirmation and setting up your account. &lt;/p&gt;
&lt;h4&gt;
  
  
  Step 3:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fegmslymhzbo72te7hcb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fegmslymhzbo72te7hcb8.png" alt="pic" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
You will be greeted with a kit code, which needs to be copied and pasted in the head section of your HTML.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 4:
&lt;/h4&gt;

&lt;p&gt;You can now browse to any icons on the Font Awesome webpage. Select the icon you wish to use and copy the associated HTML code. You can use this code in your HTML page and would be able to see the icon that you wished to.&lt;/p&gt;

&lt;p&gt;To increase or decrease the size of the icon you can just manipulate your code a little.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;i class="fab fa-twitter"&amp;gt;&amp;lt;/i&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The size of the above icon can be enlarged by -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;i class="fab fa-twitter fa-5x"&amp;gt;&amp;lt;/i&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;i class="fab fa-twitter fa-6x"&amp;gt;&amp;lt;/i&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hope you get the idea!!!!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Converting .py to .exe</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Mon, 05 Jul 2021 12:30:52 +0000</pubDate>
      <link>https://forem.com/anjalijha22/converting-py-to-exe-41h8</link>
      <guid>https://forem.com/anjalijha22/converting-py-to-exe-41h8</guid>
      <description>&lt;p&gt;To share your Python projects with the world it needs to be converted from .py to .exe file, exe file is an executable file format. It contains a program and has the ability to run as a program in computer. It does not require any import statements to execute. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Let's get started&lt;/em&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Step 1:
&lt;/h4&gt;

&lt;p&gt;Install the library pyinstaller. You can do so by typing the following code into your command prompt.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyinstaller
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 2:
&lt;/h4&gt;

&lt;p&gt;Go to the folder where .py file is located. You’ll see few folder created newly. Now Press the shift button and simultaneously right-click to open PowerShell window. &lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3:
&lt;/h4&gt;

&lt;p&gt;Type the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pyinstaller --onefile 'filename.py' 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will take some time to finish the process depending on the size of your project. You will get a "Building EXE completed successfully" message. &lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4:
&lt;/h4&gt;

&lt;p&gt;Open your dist folder, here you will find your .exe file and you are good to go!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Feb8jc0amfhdj47usrsns.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Feb8jc0amfhdj47usrsns.gif" alt="Done phewww" width="480" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>learning</category>
    </item>
    <item>
      <title>Atom vs VS Code</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Tue, 29 Jun 2021 07:33:35 +0000</pubDate>
      <link>https://forem.com/anjalijha22/atom-vs-vs-code-87j</link>
      <guid>https://forem.com/anjalijha22/atom-vs-vs-code-87j</guid>
      <description>&lt;p&gt;If you're searching for the perfect code editor, there's a good chance that you've run into both Atom and Visual Studio Code. Sure, there are plenty of other editors, but these two are among the most talked about. Atom has been around a while, but Visual Studio Code was once the new kid in town no one was quite sure about. Long story short, I settled down upon VS Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;A little background&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Both the VS Code and Atom are open-source code editors, originally created by Microsoft and GitHub respectively. Each of these editors is based on Electron - a framework for creating "native" desktop apps with web technologies - HTML, CSS, JS - with the addition of Node.js.&lt;br&gt;
&lt;a href="https://media2.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%2F6rotnv5ccmwjezjg4p9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F6rotnv5ccmwjezjg4p9w.png" alt="atom/microsoft" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;Performance&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Even if Atom was the first, everyone who has used both of these editors, at least to some small extent, must agree - VS Code is just faster. Visual Studio Code has a firmly composed crux set of functionalities with plugins adding exterior level features. On the contrary, the Atom uses an extension-based approach to almost everything. So, when the number of plugins increases in Atom, it adds the sluggish behavior by placing it behind the Visual Studio code in terms of performance. Visual Studio Code has an in-built debugger, making the development flow less ‘clicky’ and maintains a single view with code and debugger. You don’t need to have multiple screens to run the different consoles and rearrange them each time you need to minimize something. It’s built into the design and your desired workspace set up. With the addition of framework, library, and language plugin extensions, you can leverage this even further with ready-made boiler-plates.  Although the major feature of Visual Studio Code is being a code editor, with the addition of extensions, it becomes more than just a code editor. With the right settings, extensions, and configured shortcut keys, it can easily become a full-stack workstation. Atom allows for plugins and runs on the same general philosophy of extensibility – like Visual Studio Code. However, ATOM out of the box requires more configuration to turn it into an IDE. Visual Studio Code, in contrast, comes preconfigured with what you generally need to get started. This makes the ease of adoption much faster and easier than Atom.&lt;br&gt;
&lt;a href="https://media2.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%2Ft96trdf7clbtplmcpima.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ft96trdf7clbtplmcpima.png" alt="vs code" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;Decision time&lt;/em&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  So is Visual Studio Code the best code editor?
&lt;/h3&gt;

&lt;p&gt;For most web-related development, the answer is yes. &lt;br&gt;
Now, it's your time to choose! Especially for beginners, it might be a very time-consuming process, so I recommend you to just try out a little of both, to finally pick the one. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>vscode</category>
      <category>atom</category>
    </item>
    <item>
      <title>Top pygame projects</title>
      <dc:creator>Anjali Jha</dc:creator>
      <pubDate>Wed, 23 Jun 2021 18:53:22 +0000</pubDate>
      <link>https://forem.com/anjalijha22/top-pygame-projects-4eb5</link>
      <guid>https://forem.com/anjalijha22/top-pygame-projects-4eb5</guid>
      <description>&lt;p&gt;Being a beginner myself, I recently got started on python and eventually Pygame. It is a collection of Python modules for video game development. If you want to become a game developer, learning Pygame is an excellent way to start.&lt;br&gt;
To know more about it : &lt;a href="https://www.pygame.org/docs/" rel="noopener noreferrer"&gt;https://www.pygame.org/docs/&lt;/a&gt;&lt;br&gt;
For basic system setup and getting started: &lt;a href="https://realpython.com/pygame-a-primer/" rel="noopener noreferrer"&gt;https://realpython.com/pygame-a-primer/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are top pygame project ideas-&lt;/p&gt;

&lt;h2&gt;
  
  
  Flappy Bird
&lt;/h2&gt;

&lt;p&gt;Flappy bird was popular few years ago. It is a simple game where the player controls the flight of the bird with a click and prevents it from crashing into obstacles. &lt;br&gt;
&lt;a href="https://pygamezero-bird.readthedocs.io/en/latest/" rel="noopener noreferrer"&gt;https://pygamezero-bird.readthedocs.io/en/latest/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Snake game
&lt;/h2&gt;

&lt;p&gt;Its an old favorite game which can be made using pygame. In the snake game, the player controls a snake which gains points by eating fruits present on the screen. The snake grows every time it eats fruit.&lt;br&gt;
&lt;a href="https://www.pygame.org/project/433" rel="noopener noreferrer"&gt;https://www.pygame.org/project/433&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sudoku
&lt;/h2&gt;

&lt;p&gt;Sudoku is a puzzle game where you have a 9×9 grid. The grid has nine squares, and you have to enter 1-9 digits in every square, row, and column. Sudoku’s catch is that the player can’t repeat a number in a row, column or square. &lt;br&gt;
&lt;a href="https://thecodezine.com/sudoku-pygame-building-using-python/" rel="noopener noreferrer"&gt;https://thecodezine.com/sudoku-pygame-building-using-python/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dodge racing
&lt;/h2&gt;

&lt;p&gt;This is also a popular game. It is basically a scrolling game where the player drives a car and dodges other incoming cars by changing lanes.&lt;br&gt;
&lt;a href="https://www.pygame.org/project/1523" rel="noopener noreferrer"&gt;https://www.pygame.org/project/1523&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ladybug Run
&lt;/h2&gt;

&lt;p&gt;It is a clone of the very famous action maze chase- pacman game. The player controls the character through an enclosed maze. The objective of the game is to eat all of the dots placed in the maze while avoiding obstacles.&lt;br&gt;
&lt;a href="https://www.pygame.org/project/478" rel="noopener noreferrer"&gt;https://www.pygame.org/project/478&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For more games and ideas, visit -&lt;a href="https://code-projects.org/t/pygame/" rel="noopener noreferrer"&gt;https://code-projects.org/t/pygame/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
