Python & PyGame Tutorial – Code a Duck Hunt Game



Improve you Python and PyGame programming skills by coding a game. This project was inspired by the classic carnival/arcade style shooting gallery games! Learn to build the entire project from scratch using Python and the PyGame framework. We start by setting up PyGame, and drawing static images on the screen. Then we animate tiers of procedurally drawn enemies onto each level and get them moving, then check to see if the player has shot them. Once the player clears a full level of enemies, they proceed to the next level. Then we create pause functionality, a main menu and game over conditions. We store the high scores in an external text file that we read in from when the game boots up and write to it any time there is a new high score during gameplay. ✏️ Created by Pete LeMaster. Check out his channel: https://www.youtube.com/@lemastertech 💻 Code: https://github.com/plemaster01/ShootingGallery ⭐️ Contents ⭐️
⌨️ (0:00:00) Intro and Project Showcase
⌨️ (0:02:50) Setting Up Pygame And Importing Images
⌨️ (0:13:25) Drawing the Gun and Rotating With Mouse Position
⌨️ (0:26:27) Drawing Enemies Onto the Screen
⌨️ (0:37:56) Procedurally Generate Enemy Starting Coordinates
⌨️ (0:51:14) Make Enemies Move With Speed Based on Tiers
⌨️ (0:58:32) Check for Mouse Collision with Targets on Shots
⌨️ (1:13:39) Display Score, Mode Status, Time Elapsed and Total Shots!
⌨️ (1:22:04) Menu Control and Setup
⌨️ (1:44:57) Pause Menu and Restarting from the Game Screens
⌨️ (1:51:57) Re-Initializing Enemy Coordinates on Restart
⌨️ (1:59:17) Game Over Conditions!
⌨️ (2:10:47) Reading and Writing to a .txt Text file for high scores!
⌨️ (2:15:20) Adding Background Music and Sound Effects!
⌨️ (2:20:27) Outro and Thank you!! 🎉 Thanks to our Champion and Sponsor supporters:
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Erdeniz Unvan
👾 Justin Hual
👾 Agustín Kussrow
👾 Otis Morgan — Learn to code for free and get a developer job: https://www.freecodecamp.org Read hundreds of articles on programming: https://freecodecamp.org/news