Graduate Project

An improved LightsOut app for the Android

LightsOut is an electronic game that takes place on a grid of lights, in which pressing any of the lights will toggle it and its four adjacent neighbor lights on or off, with the goal of switching all the lights off, preferable in as few button presses as possible. In this master's project I had designed and developed a LightsOut Android app that has all the features as the original game, invented and produced by Tiger Toys, plus some features in existing LightsOut apps. For instance, none of the existing versions provide hints to help the player solve the game. Also, none of them have a challenging set of levels to keep the players interested, and they are generally limited to stored (static) patterns. My app included both the most common features and the ones mentioned above, and produced dynamic pattern/game on the fly instead of stored (static) patterns. The app is available to play in various levels (1-20). It is available to play in various grid sizes (5x5, 6x6, 5x6 and 6x5). My app had score requirement at each level, so if the player score is not according to the requirement, he/she will not be allowed to move to the next level. It also allows the user to play the same level where he/she has left off previously. There are challenges, such as when the user asks for a hint; there can be multiple methods for generating the hints. The challenge is to select a method which is most optimal in terms of time and moves (minimum presses of buttons). Another challenge is solving the complete pattern/game before play starts, to enable showing the user the best possible move for a particular game/pattern. There is an existing method called "Gaussian row echelon form" which is time efficient. But it is not optimal, and will not determine the minimal number of moves (minimum presses of buttons). So, I combined "Gaussian row echelon form" with "Nullify Matrix (Null Space Matrix)" and it is giving me the most optimal solution. I had tested this method with some source of data available on internet and it is giving me the best solution. The application has been designed to support all the Android Operating versions from Android 2.2 to latest Android 4.3 (API 9 – 18). The application currently has been designed keeping the cell phones and the tablets are a part of future implementation. I have tested this application on internet where there are website available that test your mobile app and give you performance, feel, memory usage, screenshot and etc. on various devices and the result seems impressive.

Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.