GithubHelp home page GithubHelp logo

fifty-bird's Introduction

Fifty Bird

Clone of Flappy Bird, implemented in Lua with LÖVE.

Assignment 1: “Flappy Bird, The Reward Update”

Code for Assignment 1 of CS50's Introduction to Game Development.

  • Randomize the gap between pipes (vertical space), such that they’re no longer hardcoded to 90 pixels.
  • Randomize the interval at which pairs of pipes spawn, such that they’re no longer always 2 seconds apart.
  • When a player enters the ScoreState, award them a “medal” via an image displayed along with the score; this can be any image or any type of medal you choose (e.g., ribbons, actual medals, trophies, etc.), so long as each is different and based on the points they scored that life. Choose 3 different ones, as well as the minimum score needed for each one (though make it fair and not too hard to test :)).
Score Screenshot
0
1-3
4-6
7+
  • Implement a pause feature, such that the user can simply press “P” (or some other key) and pause the state of the game. This pause effect will be slightly fancier than the pause feature we showed in class, though not ultimately that much different. When they pause the game, a simple sound effect should play (I recommend testing out bfxr for this, as seen in Lecture 0!). At the same time this sound effect plays, the music should pause, and once the user presses P again, the gameplay and the music should resume just as they were! To cap it off, display a pause icon in the middle of the screen, nice and large, so as to make it clear the game is paused.

Additional Changes

  • Assets loaded before the love.graphics.setDefaultFilter('nearest', 'nearest') function is called are rendered using the default FilterMode (linear). Fixed by calling :setFilter('nearest','nearest') on the affected assets.

Run the Game

cd fifty-bird
love .

Score State

Show just the score state to demo the different "awards".

cd fifty-bird
TEST_SCORE=3
love . score $TEST_SCORE

# or just try them all
for i in 0 1 4 7; do love . score $i; done

Notes

The code has been upgraded to run on the latest version of LÖVE 2D —11.3 (Mysterious Mysteries).

Credits

fifty-bird's People

Contributors

xmarcos avatar

Stargazers

 avatar

Watchers

 avatar  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.