Projects > Software Projects >

Bingo Maniac Game

Bingo Maniac

BINGO MANIAC is a bingo game written in C language and runs on Windows. It is a free and open source program distributed under GNU GPL version 3, which means you can use the program freely, make changes on the source code and distribute those copies. The game was developed in C and compiled using MinGW32. The IDE used for development was Orwell DevC++. It is a console application (TUI-Textual User Interface). Double-click the executable file to run the program and play the game.

How to play

Actual bingo game is intended for two players. Here, the game is for a single player. The computer or the program itself will be your opponent. Playing bingo is easy. Both of the players have to fill squares containing 25 small cells with numbers from 1-25 without repeating any number, randomly and covertly. Players should not reveal their squares each other until the end. After filling the squares, anyone can start the game by calling any number. When one calls a number, both the players have to mark that number in their squares without showing it. Next chance to call the number goes to the next player. He can call any number that is not already called. Continue this. If any of your row or column gets fully filled or marked, you can write a 'B' of 'BINGO'. Going on with the game, the one who get a completed 'BINGO' first wins.

The above is a general description of bingo game. Now let's see how to play it with Bingo Maniac. Bingo Maniac is a single player game. Computer/program is your opponent. On double-clicking the executable file, you see 'BINGO MANIAC' written in big letters. Press 'a' there for information about the game, and 's' to disable the audio. Press any key to continue to the game. 

Bingo Maniac

Bingo Maniac

On the initial screen, you see the above screen. Here, you'll see your square filled and the computer's unfilled. The computer's square is actually filled and it is hidden from you. Both you and computer will have entirely different squares filled in a random way. Then the game wait for an input. If it is your chance, you have to type a number you want to call and hit the 'Enter' key once. After that, you can see that both yours and computer's squares are marked with '$' sign accordingly.

Now it is the chance of the computer. The computer suggests/calls a number and you have to confirm it by hitting the 'Enter' key once. If any one of you completes a row or column, you get a letter printed under your square. You can also see the remaining chances and last called numbers under the squares. If you complete the BINGO first, you win. Otherwise the computer wins.

Bingo Maniac

Bingo Maniac

Bingo Maniac Columns

After completing a game, you can see the two squares you just played. Press any key to continue to new game from there. If you defeat the computer three times in a row with the game staring with you, you will be awarded the rare 'TRIPLE BINGO' screen which means you are now a 'Bingo Maniac'. Let's go maniac !

The following are some useful instructions.
  • If you want to call '1', just type '1' in the keyboard instead of '01'. '01' is used for properly displaying the squares.
  • Do not enter any keys other than numeric values from 0-9. See yourself what happens !
  • If you want to win a 'TRIPLE BINGO', you have to play the game continuously. Closing the game will lose your data.
  • Some anti-virus softwares do not let you run console applications. You can add the program to exclusions or run it as 'administrator'.
  • Pressing '9' on the welcome screen will display the version information.

Bingo Maniac About

Code Explanation

It all started from my class room. We were playing bingo together and I thought why don't write a program to play bingo. I've been learning C language then. I took my notebook and wrote about the basic design. The design logic is,
  1. Start two [5][5] matrices and fill them with values from 1-25 randomly and independently.
  2. Take an input from user and fill the corresponding cell with '0'.
  3. After taking the input from the user, generate a random value from numbers 1-25 which has not yet been called and fill it with '0'.
  4. Check if any row or column or any of the matrices has fully filled with '0' and if yes, print the first letter of the word 'BINGO'.
The one who completes the 'BINGO' first wins. Even though there are only five simple steps, you will find difficulties at some places because I did. The first difficulty will be with the first step. You can use the rand() function to fill the matrix, but it will fill numbers repeatedly. So you have to remove the duplicates and produce a usable matrix. I've done this in my code. I hope you will not find it difficult to read my code and understand it yourself. I'm not a professional programmer, but just a student who has started loving programming.

Other functions I used are the row/column counters, bingo counters, matrix printer and the intelligence. The intelligence which computer uses to play the bingo is important. I'll advice you to advance the program by adding more intelligent algorithms. I use 'fill the largest' algorithm in which it checks for the largest uncompleted row or column to decide the next move. You can add 'intersection priority' to make the program more intelligent.

I've used the Borland conio.h extension to produce the colors. You can download it from the DevC++ package repository. Please send any suggestions or details about your edits to my email.



Here'a link to an archive containing all the files. You can run the program directly by running the executable file. If you want to permanently install the game in your computer, use the installer. It will install all the necessary files, licence, info, manual etc to a folder named 'Bingo Maniac'. The source code is provided as an html file exported from DevC++. The archive also contains the Inno Setup script file used to make the installer.