Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

Arduino Tetris Arcade Game

GitHub top language GitHub code size in bytes Arduino

Description

This repository contains the source code for a custom Tetris arcade game, created as my sophomore honors project at Scottsdale Community College, and my final assessment of my objective fulfillment for this project. This game is designed to be run on an Arduino platform and uses some physical controls and an LED display to create a custom arcade game experience based on the classic game of Tetris.

Table of Contents

Objective

Using an Arduino create an LED Tetris game. The device should have functional controls and repeatable gameplay so that future students interested in or currently taking computer science courses and use it. The main objective is to demo skills and knowledge that will be learned throughout the computer science courses at SCC and create interest for those students.

1. Develop effective written communication skills

  • My honors project involved writing a C++ program that contained over 900 lines of code and multiple functions at use. Therefore, to increase understanding and communication of my project I wrote comments all over my program to increase readability. This developed effective written communication skills by increasing my ability to explain and document my work so that others can understand it without speaking to me directly.

2. Develop effective oral communication skills

  • I explained my thought process behind my design as well as the functionality of my program and electrical implementations of my Arduino, analog controls, 7-segment display, and LED light strips. This developed effective oral communication skills as this project has a plethora of combined pieces and is a complicated project, therefore it was important to understand each concept in great detail so that communicating it was simple.

3. Develop an ability to analyze and synthesize a broad range of materials

  • For my project, I built a custom Tetris arcade game using an Arduino and LED strand lights. I had to research a broad range of materials including how to read and write functions using the Arduino IDE, how to wire LEDs and analog controls to an Arduino, and how to write my program my Arduino using C++ and the Arduino framework.

4. Become more independent and critical thinkers.

  • This project involved a lot of problem-solving using the given materials I had available. I had to design and implement a Tetris game that was portable and got future students interested in the material to be taught in the computer science programs. So I had to solve complex problems to implement this project given the objectives and materials available.

Features

The Tetris arcade game developed for this project offers a comprehensive implementation of the classic Tetris game, adapted for a custom hardware setup.

  • Game Mechanics: The core mechanics follow traditional Tetris gameplay, where players must align falling tetrominoes to complete and clear rows. The game accelerates as the player advances, increasing the challenge.

  • Control Scheme: Players use the custom-built controls, including a joystick for moving tetrominoes horizontally and rotating them, and buttons for instant drop and pause/resume functionality.

  • Display System: The game uses an LED matrix display to render the game visuals.

  • Scoring and Levels: The game includes a scoring system that rewards players for completing single or multiple lines simultaneously. The difficulty level increases as the player scores more points, adjusting the speed of falling tetrominoes accordingly.

  • Memory Management: The project utilizes EEPROM storage to save high scores, allowing players to track their progress over time and set new high-score targets.

Software Requirements

  • Arduino IDE for uploading code to the Arduino MEGA
  • Adafruit NeoPixel Library
  • EEPROM Library for Arduino

Hardware Requirements

  • 5M WS2812 LED’s
  • Arduino MEGA
  • Breadboard
  • Jumper Wires
  • Joystick
  • 6x Single-Pole Momentary Contact Push-Button Switch
  • MAX7219 8-Digit LED Display 7-Segment Digital Tube

Arduino Pin Diagram

Arduino Pin Diagram Medium

Contact

Outlook LinkedIn

About

Simple LED Tetris game for Arduino

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages