Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

TheWannabeCoder92/icytower-turtle-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

24 Commits

Repository files navigation

Icy Tower in Python β„οΈπŸ•ΉοΈ

This is a beginner-friendly Icy Tower–style platformer built using Python's Turtle Graphics module.

The code is part of a full YouTube tutorial series, where we build the game step by step β€” covering everything from movement physics and wall bouncing to infinite vertical scrolling, UI, and visual effects.

πŸŽ₯ Watch the Tutorial Series

YouTube Playlist: Icy Tower in Python - Full Tutorial Series


πŸ“š Table of Contents

Use the links below to access the code for each episode:

  1. Episode 1 – Project & Screen Setup
  2. Episode 2 – Wall & Platform Rendering
  3. Episode 3 – Player Movement & Keyboard Input
  4. Episode 4 – Physics & Collision
  5. Episode 5 – Screen Scrolling & Platform Recycling
  6. Episode 6 – Score Tracking & Game Over
  7. Episode 7 – Graphics & Audio

πŸ“‚ View Full Project Structure


Follow along to:

  • Learn how to simulate physics-based platformer gameplay
  • Use Turtle Graphics to draw, animate, and update game elements in real time
  • Implement scoring systems, infinite scrolling, and jump effects
  • Polish your game with sprite animation and audio feedback

πŸ“ Project Structure

icytower-turtle-python/
β”‚
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ .gitignore
β”œβ”€β”€ media/
β”‚ └── final_game.mp4
β”‚
└── episodes/
 β”œβ”€β”€ episode01/ # Project & Screen Setup
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ constants.py
 β”‚ └── main.py
 β”‚
 β”œβ”€β”€ episode02/ # Wall & Platform Rendering
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ constants.py
 β”‚ β”œβ”€β”€ main.py
 β”‚ └── renderer.py
 β”‚
 β”œβ”€β”€ episode03/ # Player Movement & Keyboard Input
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ actors.py
 β”‚ β”œβ”€β”€ constants.py
 β”‚ β”œβ”€β”€ main.py
 β”‚ └── renderer.py
 β”‚
 β”œβ”€β”€ episode04/ # Physics & Collision
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ actors.py
 β”‚ β”œβ”€β”€ constants.py
 β”‚ β”œβ”€β”€ main.py
 β”‚ └── renderer.py
 β”‚
 β”œβ”€β”€ episode05/ # Screen Scrolling & Platform Recycling
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ actors.py
 β”‚ β”œβ”€β”€ constants.py
 β”‚ β”œβ”€β”€ main.py
 β”‚ └── renderer.py
 β”‚
 β”œβ”€β”€ episode06/ # Score Tracking & Game Over
 β”‚ β”œβ”€β”€ README.md
 β”‚ β”œβ”€β”€ actors.py
 β”‚ β”œβ”€β”€ constants.py
 β”‚ β”œβ”€β”€ main.py
 β”‚ └── renderer.py
 β”‚
 └── episode07/ # Final Game – Graphics, Audio & Effects
 β”œβ”€β”€ README.md
 β”œβ”€β”€ actors.py
 β”œβ”€β”€ background.gif
 β”œβ”€β”€ constants.py
 β”œβ”€β”€ floor.gif
 β”œβ”€β”€ jump.wav
 β”œβ”€β”€ main.py
 β”œβ”€β”€ plat_6.gif
 β”œβ”€β”€ plat_7.gif
 β”œβ”€β”€ plat_7.png
 β”œβ”€β”€ plat_8.gif
 β”œβ”€β”€ plat_8.png
 β”œβ”€β”€ plat_9.gif
 β”œβ”€β”€ plat_10.gif
 β”œβ”€β”€ plat_11.gif
 β”œβ”€β”€ plat_12.gif
 β”œβ”€β”€ player.gif
 β”œβ”€β”€ player_45l.gif
 β”œβ”€β”€ player_45r.gif
 β”œβ”€β”€ player_90l.gif
 β”œβ”€β”€ player_90r.gif
 β”œβ”€β”€ player_135l.gif
 β”œβ”€β”€ player_135r.gif
 β”œβ”€β”€ player_180.gif
 β”œβ”€β”€ player_left.gif
 β”œβ”€β”€ player_right.gif
 β”œβ”€β”€ renderer.py
 └── wohoo.wav

πŸ“¦ Note:

  • episode07/ contains the final version of the complete game.
  • Sound effects are played using aplay (Linux) β€” you may need to adjust the command for Windows winsound or macOS afplay.
  • Game physics and scoring logic can all be tweaked in constants.py.

πŸ“‹ Requirements

No external libraries needed – just Python 3.x.

Make sure turtle is available (it's included with standard Python installs).

▢️ How to Run

python main.py

The game window will open, and you can start playing Icy Tower using the Right & Left arrow keys to move and Space key to jump.

πŸ“Œ About the Creator

Created by TheWannabeCoder
Making simple, hands-on Python tutorials for beginners.
YouTube: @TheWannabeCoder

πŸ“œ License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /