Giter Site home page Giter Site logo

hack-night-bingo's Introduction

B•I•N•G•O

BINGO Banner

BINGO is a game of chance in which each player matches numbers printed in different arrangements on 5×5 cards which the numbers the game host (caller) draws at random, marking the selected numbers with tiles.

The game is won when a player marks their board in a specific pattern, usually a straight line horizontally, vertically, or diagonally across five spaces. Don't forget to yell "BINGO!"

The Challenge

We are going to split this out into mini-chalenges.

Card generator

BINGO Card

Using classic BINGO spaces (B-I-N-G-O 1-75), generate BINGO cards. Don't forget about the free space in the center of the card! The card is a 5x5 grid with column headings of B, I, N, G and O. There are a total of 75 possible numbers that can be filled into the grid, but placement is not entirely random. Each letter column corresponds to a set of 15 numbers as follows:

B) 1 - 15

I) 16 - 30

N) 31 - 45

G) 46 - 60

O) 61 - 75

BINGO caller

Did you know that MacOS includes a command, say, that will verbalize commands. Use this functionality to create a caller that will call out BINGO spaces.

Putting it all together...

Create a fully functioning BINGO game that generates a board, calls spaces, and allows users to mark the spaces as they are called. Make an AI version that marks the board for you.

You can build this as a web app or a terminal app.

Stretch goals

Custom Boards

Once you have created your classic boards, try allowing board generation using a custom list. You can allow users to input the list themselves (maybe as an array), or find a set of data (for example, "US Cities") to pass to your application.

Alternate winning conditions

The classic game is won when a player marks a line of 5 spaces either horizontally, vertically, or diagonally. What other patterns can you use to get a winner? Here are some options:

X Pattern

X pattern

Diamond

Diamond pattern

Plus

Plus pattern

Pyramid (can be from any edge)

Pyramid pattern

Postage Stamp (can be from any corner)

Postage stamp

References

hack-night-bingo's People

Contributors

nicolecarpenter avatar flockom avatar tom-brown avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.