<?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>DEV Community: Ekant Verma</title>
    <description>The latest articles on DEV Community by Ekant Verma (@ekantverma).</description>
    <link>https://dev.to/ekantverma</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3270290%2F73844caa-d1b8-431c-a670-0c8f648a23df.jpg</url>
      <title>DEV Community: Ekant Verma</title>
      <link>https://dev.to/ekantverma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ekantverma"/>
    <language>en</language>
    <item>
      <title>🎮 How I Built “Simon Says Pro” with Python and Amazon Q Developer CLI 🚀</title>
      <dc:creator>Ekant Verma</dc:creator>
      <pubDate>Tue, 17 Jun 2025 15:13:33 +0000</pubDate>
      <link>https://dev.to/ekantverma/how-i-built-simon-says-pro-with-python-and-amazon-q-developer-cli-51nl</link>
      <guid>https://dev.to/ekantverma/how-i-built-simon-says-pro-with-python-and-amazon-q-developer-cli-51nl</guid>
      <description>&lt;p&gt;When I started building “Simon Says Pro,” I had one goal: to create an engaging, colorful, and responsive memory game — and build it smarter, faster, and better.&lt;/p&gt;

&lt;p&gt;That’s when I discovered the power of Amazon Q Developer CLI — a command-line AI assistant that helped me brainstorm, structure, debug, and write clean code, all from my terminal.&lt;/p&gt;

&lt;p&gt;This post is a walk-through of the development journey, tools used, challenges solved, and how Q CLI became my go-to coding companion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 Game Concept: What is Simon Says Pro?&lt;/strong&gt;&lt;br&gt;
"Simon Says Pro" is an upgraded version of the classic memory game — where colored buttons light up in a pattern and the player must repeat the sequence correctly.&lt;/p&gt;

&lt;p&gt;Every round adds a new button, increasing difficulty. It’s a fun way to test and improve memory, focus, and reaction time.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔥 Key Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🎨 Visually engaging, animated UI with colored buttons&lt;/li&gt;
&lt;li&gt;🔊 Custom audio for each button, generated with NumPy&lt;/li&gt;
&lt;li&gt;⏱️ Timer-based gameplay for added challenge&lt;/li&gt;
&lt;li&gt;💥 Particle effects for wins and losses&lt;/li&gt;
&lt;li&gt;🧠 Dynamic memory pattern that gets harder each round&lt;/li&gt;
&lt;li&gt;🏆 Persistent high score&lt;/li&gt;
&lt;/ul&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%2Ftzxmbxwgvlvbamwg62tb.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%2Ftzxmbxwgvlvbamwg62tb.png" alt="Image description" width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚙️ Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 3.10+&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pygame&lt;/strong&gt; – for rendering graphics and input&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NumPy&lt;/strong&gt; – for generating sound&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amazon Q Developer CLI&lt;/strong&gt; – for AI-powered coding help&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧰 Setting Up Amazon Q Developer CLI&lt;br&gt;
Before starting the project, I set up the Amazon Q CLI — and it was game-changing.&lt;/p&gt;

&lt;p&gt;📦 Installation&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
npm install -g @aws/q&lt;/code&gt;&lt;br&gt;
🔐 Authenticate&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
qcli login&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;💬 Start an AI-Powered Terminal Session&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
qcli chat&lt;/code&gt;&lt;br&gt;
Once inside the chat, I could:&lt;/p&gt;

&lt;p&gt;Ask for Python game architecture suggestions&lt;br&gt;
Generate class templates&lt;br&gt;
Request fixes for layout and animation bugs&lt;br&gt;
Discuss color layouts and button positioning&lt;br&gt;
Write audio generation logic using NumPy&lt;br&gt;
It was like pair-programming with an expert who never sleeps.&lt;/p&gt;

&lt;p&gt;🏗️ Project Structure&lt;br&gt;
Thanks to Q CLI, the game is cleanly split into multiple files:&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
simon-says-pro/&lt;br&gt;
├── main.py             # Entry point&lt;br&gt;
├── constants.py        # Global constants and colors&lt;br&gt;
├── button.py           # Interactive button class&lt;br&gt;
├── audio.py            # Audio generation using NumPy&lt;br&gt;
├── effects.py          # Particle system&lt;br&gt;
├── game.py             # Core game loop and logic&lt;br&gt;
└── README.md           # Documentation&lt;br&gt;
Q CLI helped generate boilerplate and also ensured that modules were decoupled and reusable.&lt;/p&gt;

&lt;p&gt;🧩 Game Development Breakdown&lt;br&gt;
1️⃣ Layout &amp;amp; Button Logic&lt;br&gt;
With the help of Q CLI, I structured the buttons in a hexagonal layout using calculated x/y offsets. Each button has:&lt;/p&gt;

&lt;p&gt;Dark and light color versions&lt;br&gt;
A sound frequency&lt;br&gt;
Click detection and hover animation&lt;br&gt;
Q CLI even helped with subtle animations using scale and color interpolation.&lt;/p&gt;

&lt;p&gt;2️⃣ Audio&lt;br&gt;
I asked Q CLI:&lt;br&gt;
"Can you help me generate sound for each button using NumPy sine waves?"&lt;br&gt;
It returned a precise make_tone() function, which generates real-time sound based on frequency, duration, and volume — exactly what I needed.&lt;/p&gt;

&lt;p&gt;3️⃣ Game State Management&lt;br&gt;
The game runs on four states: START, SHOW, PLAY, GAMEOVER. Transitions are handled using a centralized update loop. Q CLI helped me refactor logic to avoid spaghetti code.&lt;/p&gt;

&lt;p&gt;4️⃣ Particles &amp;amp; Effects&lt;br&gt;
The visual feedback on winning or losing was important. Q CLI guided me through implementing a simple particle system using pygame.draw.circle, velocity, and lifespan.&lt;/p&gt;

&lt;p&gt;5️⃣ Score Persistence&lt;br&gt;
Using pathlib and json, the game reads and writes the highest score locally. Again, Q CLI suggested a minimal and elegant implementation.&lt;/p&gt;

&lt;p&gt;🖥️ How to Run the Game&lt;br&gt;
✅ Prerequisites&lt;br&gt;
Python 3.10+&lt;br&gt;
pip&lt;/p&gt;

&lt;p&gt;&lt;code&gt;🧪 Install Dependencies&lt;br&gt;
bash&lt;br&gt;
pip install pygame numpy&lt;br&gt;
▶️ Run the Game&lt;br&gt;
bash&lt;br&gt;
python main.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;💬 Challenges Solved with Q CLI&lt;br&gt;
Challenge   How Q CLI Helped&lt;br&gt;
Layout math for hex buttons Provided correct spacing logic&lt;br&gt;
Audio wave generation   Generated accurate NumPy sine functions&lt;br&gt;
Modular project structure   Suggested clean file-based architecture&lt;br&gt;
Debugging animation flickers    Found and resolved update timing issue&lt;br&gt;
Clean particle burst logic  Designed a reusable effect class&lt;/p&gt;

&lt;p&gt;🧠 Lessons Learned&lt;br&gt;
AI-powered development is real. Amazon Q CLI didn’t just help write code — it helped me think through problems.&lt;/p&gt;

&lt;p&gt;Modular design makes debugging and adding features effortless.&lt;/p&gt;

&lt;p&gt;Python + Pygame + NumPy is still a powerful stack for creative games.&lt;/p&gt;

&lt;p&gt;Particle systems are fun — they add life to any game!&lt;/p&gt;

&lt;p&gt;📣 Why You Should Try Amazon Q CLI&lt;br&gt;
If you’re a developer who:&lt;/p&gt;

&lt;p&gt;Spends time Googling solutions&lt;br&gt;
Wants real-time help in the terminal&lt;br&gt;
Loves writing clean, testable code&lt;br&gt;
Then Amazon Q CLI is for you.&lt;br&gt;
It’s your co-pilot — minus the tab overload.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 Final Thoughts&lt;/strong&gt;&lt;br&gt;
Simon Says Pro was more than a game — it was an experiment in AI-assisted creativity. Thanks to Amazon Q Developer CLI, the development process became smoother, smarter, and surprisingly fun.&lt;/p&gt;

&lt;p&gt;👉 Check out the repo &lt;a href="https://github.com/ekantverma/Amazone_Q_CLI_Challenge" rel="noopener noreferrer"&gt;https://github.com/ekantverma/Amazone_Q_CLI_Challenge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔧 Want to build your own project with Q CLI? Just run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
npm install -g @aws/q&lt;br&gt;
qcli login&lt;br&gt;
qcli chat&lt;/code&gt;&lt;br&gt;
Let the AI guide you through your next build.&lt;/p&gt;

&lt;h1&gt;
  
  
  Python #GameDevelopment #AmazonQ #QCLI #AI #Pygame #OpenSource #SideProjects #DevTools
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
