Git Product home page Git Product logo

breakout's Introduction

Breakout

  • What does this project do? This is Atari Breakout clone created using HTML5 and Javascript.

  • Why is this project useful? This project is created to get user familiar with HTML5 canvas,DOM and javascript to create awesome games and have fun together as a community. This is a friendly project and any kind of ideas crazy or creative are accepted.

  • How do I get started? Check out issues section and see which issue can you fix. Follow javascript ES2015 coding standards in all commits. If you find a way to improve the game that hasn't been mentioned in the issues. Create a new issue. And most important of all discuss with your peers on what is the best way to solve a problem

  • Where can I get more help, if I need it? You can contact the owner at [email protected]

How to play

You control a small platform using the left and right arrow keys. You goal is to keep the ball bouncing and hit all block on the top of the screen.

You win when there are no more blocks to destroy.

You have maximum of three lives, you lose a life when you let the ball fall off the screen and lose the game when you lose all lives.

how-to-play

breakout's People

Contributors

andilee111 avatar brunolm avatar cynthiajbuck avatar httpstersk avatar jaernbrand avatar jake0tron avatar kayvanmazaheri avatar raj-maurya avatar seanmonslow avatar sirdaev avatar vramazing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

breakout's Issues

Add lives to player/paddle(3)

Currently, a user dies if he doesn't complete the level in first try.This would lead to difficulty when the game is extended to multiple levels.We need to avoid that

Add different level maps.

The idea is to add different level maps and to load them if the user finishes the previous map.In such case, we also need to keep track of score variable and discuss what would contribute to this score.

Add ball Control to paddle

Currently, the paddle just reflects the ball back.It should reflect it with the required speed and direction based on the part of paddle I hit the ball with.If I hit the ball with the corner of paddle it should fly at 30 degrees or something approximate. This would allow user to have control over where ball hits and allow for tunneling strategy

Add More Levels

Each level is a 1-dimensional matrix which is displayed into 2-dimensional form.
Here 3 denotes brick which can be hit 3 times, 2 denotes 2 times and so on.0 denotes empty space.
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,
0,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,
0,2,1,0,0,0,0,0,0,0,0,0,0,2,3,0,
0,2,1,0,0,0,0,0,0,0,0,0,0,2,3,0,
0,2,1,1,1,1,1,1,1,1,1,1,1,2,3,0,
0,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,
0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,ows are to your creativity.
],

All you have to do is append the levels array in levels.js with new pattern of your interest.Follow the same convention as above.It provides better readability

Please make sure you don't change first 2 rows of zeros.They provide necessary padding.The rest of the
rows are up to you.You can add more bricks rows if you want.

When you go through the levels.js find you will see comments that denote level name to provide a better understanding of how the particular level looks.It's not necessary to follow the same convention but if you are creating an alphabet in the level please follow it.Else give the level your name or some other cool name that defines it in a word.

Paddle doesn't move when arrow keys are pressed in EDGE browser

Hi,
The paddle doesn't move when the left or the right arrow key is pressed on Microsoft Edge browser (version 42.17134.1.0). I also tested it on Mozilla Firefox (Version 63.03) , and it works fine there.

  • I have looked over the code of conduct, and the content of the issue is inline with it.
  • I have checked if this bug and/or feature has been already created an issue of.

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.