In this tutorial, we will create a simple digital scoreboard to track the points in a ping pong game. This program will allow us to increment and display the scores of two players, simulating a live scoreboard for the game. It will be a fun and simple Python project to practice basic programming concepts such as loops, conditions, and user input handling.
Objective
The main objective of this project is to build a Python-based digital scoreboard for a ping pong game. The scoreboard will have the ability to:
- Track and display scores for Player 1 and Player 2.
- Allow users to increment scores for each player with a key press.
- End the game when a player reaches a pre-defined winning score.
Python Code
# Ping Pong Scoreboard Program def display_score(player1_score, player2_score): print("\n--- Ping Pong Scoreboard ---") print(f"Player 1: {player1_score} | Player 2: {player2_score}") print("-----------------------------") def main(): player1_score = 0 player2_score = 0 winning_score = 11 print("Welcome to Ping Pong!") print(f"First player to reach {winning_score} points wins.\n") while player1_score < winning_score and player2_score < winning_score: display_score(player1_score, player2_score) # Ask for user input to update scores print("Press '1' to score for Player 1, '2' for Player 2, or 'q' to quit.") choice = input("Enter your choice: ").strip().lower() if choice == '1': player1_score += 1 elif choice == '2': player2_score += 1 elif choice == 'q': print("Game Over. You quit the game.") break else: print("Invalid input. Please try again.") # Declare the winner if player1_score >= winning_score: print("\nPlayer 1 wins the game!") elif player2_score >= winning_score: print("\nPlayer 2 wins the game!") display_score(player1_score, player2_score) # Run the game if __name__ == "__main__": main()
Explanation of the Program Structure
The program is structured in a simple and intuitive way:
- display_score: A function that prints the current scores of both players in a readable format.
- main: The main game function. It initializes the scores, manages user input, and controls the game loop.
- The game loop continues as long as neither player reaches the winning score. Players can increment their scores by typing ‘1’ or ‘2’, and they can quit by pressing ‘q’.
- The game ends when either player reaches the winning score (11 points by default), and the winner is announced.
How to Run the Program
- Ensure you have Python installed on your system. You can download Python from here.
- Copy the Python code provided above into a text file and save it with a ‘.py’ extension (e.g., ping_pong_scoreboard.py).
- Open your command line or terminal and navigate to the directory where the file is saved.
- Run the program by typing the following command:
python ping_pong_scoreboard.py
- Follow the on-screen instructions to play the game.