Code Angel Jupiter Landing - learn to code a classic Python arcade game

Jupiter Landing

As Captain of the first manned flight to Jupiter, you are in the final few minutes of a six year mission.Can you land the lunar module on the planet’s surface before your fuel runs out?

Learn to code Jupiter Landing, a free Python game similar to the classic arcade game Lunar Lander. All audio, images and source code provided.

Starter Code Files

Download “Starter Python File: Jupiter Landing” File size: 866 B


Download and unzip this Python starter code file to your Jupiter Landing project folder

Images and Audio

Download “Images and audio for Jupiter Landing” File size: 165 KB


Download and unzip these image and audio files to your Jupiter Landing project folder

Book of Code

Download “Book of Code: Jupiter Landing” File size: 528 KB


Copy the Jupiter Landing Python program from the Book of Code into your IDE

Video Tutorials

1. Floating Point Variables

A floating point variable (or float) can store a number with a decimal point. Learn how floating point values are used in this Lunar Lander style classic arcade game.

Watch first: Forest Bomber Integer Variables

Difficulty: 1

2. Game Variables

In this video we review the different variables used in this classic Lunar Lander style arcade game, Jupiter Landing.

Watch first: Snapper Boolean Variables

Difficulty: 1


Kindle Paperwhite | Waterproof, 6″ High-Resolution Display, 8GB Black, available on Amazon

3. Round

The Python round() function is used to round a floating point number to a given nymber of decimal places.

Watch First: Alien Invasion Parameter Passing

Difficulty: 2

4. Absolute Value

The Python abs() function returns the absolute value of a number.

Watch first: Alien Invasion Parameter Passing

Difficulty: 3

5. Looping Through Lists

In this video we demonstrate how to loop through a list in Python, and show how this is used in the Jupiter Landing arcade game.

Watch first: Golf For Loops

Difficulty: 4

6. Lander Start Location

This video explains the Python code that is used to calculate the starting position of the lunar lander. The lunar lander should not be placed too close to the screen edge, nor should it appear directly above the landing pad.

Watch first: Tic Tac Toe Conditional While Loops

Difficulty: 4

7. Rocket Thrust

In this tutorial we will examine at the game physics used to provide thrust to the lunar lander rockets.

Watch first: Golf If, Draw the Flag

Difficulty: 2

8. Rotate Lander

In this video we will look at the game physic required to rotate the lunar lander.

Watch first: Alien Invasion Coordinates

Difficulty: 3

9. Gravity and Velocity

In this video we will examine how gravity and velocity are used to create realistic game physics for a classic arcade game like lunar lander.

Watch first: Jupiter Landing Floating Point Variables

Difficulty: 4

10. Planet Collision

This tutorial will explain how we use Pygame’s collision detection to check whether the lunar lander has collided with the planet.

Watch first: Jupiter Landing Looping Through Lists

Difficulty: 4

11. Level Up

In this video we explain the Python program code used to level up in a classic arcade style game like lunar lander.

Watch first: Golf, If Draw the Flag

Difficulty: 2

12. A Random Planet

In this tutorial we explain how the surface of the planet is created at random before the lunar lander begins its descent.

Watch first: Jupiter Landing Looping Through Lists

Difficulty: 5


All-new Fire HD 10 Tablet | 10.1″ 1080p Full HD display, 32 GB, Black, available on Amazon