[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/036/original/Pyboom.gif?1762673874","metadata":{}},{"element_type":"text","content":"\n        \u003ch1\u003ePy-Boom\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003ePy-Boom\u003c/strong\u003e is a fast-paced, 8-bit-style arcade game written in CircuitPython for the Adafruit Fruit Jam and other compatible display boards.\u003c/p\u003e\n\u003cp\u003eThis game is a modern take on a classic \"catcher\" formula, featuring both a single-player mode against an AI and a competitive two-player versus mode.\u003c/p\u003e\n\u003ch2\u003eGame Modes\u003c/h2\u003e\n\u003cp\u003eAt the title screen, you can select your game mode:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e1-Player Mode:\u003c/strong\u003e You control the Bucket (P1) at the bottom of the screen. An AI-controlled Bomber moves at the top, dropping bombs at an increasing rate. Your goal is to catch as many bombs as possible to survive the level.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e2-Player Mode:\u003c/strong\u003e Player 1 controls the Bucket, and Player 2 controls the Bomber. P1's goal is to survive, while P2's goal is to drop bombs strategically to make P1 miss.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eHow to Play\u003c/h2\u003e\n\u003ch3\u003eP1 (Bucket) - The Catcher\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGoal:\u003c/strong\u003e Catch every bomb that is dropped. If you miss a bomb, you lose one of your buckets (lives). If you lose all three, the game is over.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eWinning:\u003c/strong\u003e If you (P1) successfully catch all bombs in a level (e.g., 10 bombs in Level 1), you win the round and advance to the next, more difficult level.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eP2 (Bomber) - The Attacker\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGoal:\u003c/strong\u003e Make P1 miss! You have a limited number of bombs per level. Use your movement and timing to drop bombs where P1 isn't.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eWinning:\u003c/strong\u003e If you (P2) successfully make P1 lose all three of their buckets, you win the game!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eControls\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003e\n\u003cp\u003eAction\u003c/p\u003e\n\u003c/th\u003e\n\u003cth\u003e\n\u003cp\u003ePlayer 1 (Bucket)\u003c/p\u003e\n\u003c/th\u003e\n\u003cth\u003e\n\u003cp\u003ePlayer 2 (Bomber)\u003c/p\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cstrong\u003eMove Left\u003c/strong\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eA\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eLeft Arrow\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cstrong\u003eMove Right\u003c/strong\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eD\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eRight Arrow\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cstrong\u003eDrop Bomb\u003c/strong\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eDown Arrow\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cstrong\u003eStart / Ready\u003c/strong\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eSpace\u003c/code\u003e bar\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003ccode\u003eEnter\u003c/code\u003e key\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eOther Controls\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSelect Mode:\u003c/strong\u003e On the title screen, press the \u003ccode\u003e1\u003c/code\u003e or \u003ccode\u003e2\u003c/code\u003e key.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestart Game:\u003c/strong\u003e On the \"Game Over\" screen, press the \u003ccode\u003eR\u003c/code\u003e key to return to the title screen.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRequired Files\u003c/h2\u003e\n\u003cp\u003eTo run this game, you will need the following files on your CircuitPython device:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ecode.py\u003c/code\u003e: The main game code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe Fruit Jam OS library package.\u0026nbsp;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epyboom.bmp\u003c/code\u003e: The title screen logo.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ebomb_icon.bmp\u003c/code\u003e: The bomb sprite icon (used in development).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownload at: \u003ca href=\"https://github.com/Flobio75/Pyboom\" target=\"_blank\"\u003ePyboom Git Hub\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n      ","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/037/original/Pyboom_Game_Over.gif?1762674747","metadata":{}},{"element_type":"text","content":"\n  \n        \u003ch2\u003eBackground\u003c/h2\u003e\n\u003cp\u003eThis project was started on Microsoft Make Code for my Pygamer and was called \u003ca href=\"https://arcade.makecode.com/S90122-04398-19800-05843\" target=\"_blank\"\u003ePrison Break\u003c/a\u003e. \u003cspan\u003eWith the introduction of the Fruit Jam I wanted to port this over to Circuit Python. The graphics in Make Code (MC) are saved in a TypeScript file so I had to copy the codes for the sprites over to my Circuit Python. I used the AI tools that are part of Visual Studio Code (VS) the develop functions to map the sprites maps into bitmaps and tile grids. I continued to use the AI tools to help convert the Python code from MC. I mostly used Gemini as I have 3 months of premium from purchasing my phone. Though there were times where Gemini would get stuck on fixing issues it was making so I would switch to the free tokens in VS and use Claude or Chat-GPT. I ran out of free tokens in VS and moved on to Gemini for versions 2 and 3 of the game. I am in the process of uploading my prompts that I still have access to (I lost my VS conversations :( ) and hope to have them done in the next week. I also hope to get controllers setup and maybe make paddle controllers in the future.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eI found this a fun project to learn Circuit Python and coding with AI. I'm still learning the concepts of using classes and learned a lot while looking at the errors the AI was coming up with.\u003c/span\u003e\u003c/p\u003e\n      \n","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/6200","metadata":{}}]