153B Final Project - Pong

Alex Lai

Description

The goal of this project is to implement the classic game of Pong, a table-tennis themed arcade game. The player moves a paddle to stop the ball from hitting their respective wall, while also trying to get the ball to hit the opponent's wall. This version of pong will be single-player, thus I will implement a basic AI that simply follows the ball. The player controls the paddle using the joystick of the Wii Nunchuk, and I will also use the extra buttons on the Wii Nunchuk to implement pause and restart game functionalities. The resulting game will be drawn on a LCD screen.

Demo

Block Diagram

Software Structure

  • infinite game loop

    • check for wii nunchuk input

    • variety of game states and transitions

    • main game state

      • Player Paddle movement from nunchuk input

      • Enemy Paddle movement based on ball positioning

      • Ball Movement Logic

      • Ball Collision Logic

        • Activate Buzzer if ball hits paddle

      • Draw all elements on screen

      • Check if ball hits the enemy or the player's wall

        • if it does, update score and change game states