Giter VIP home page Giter VIP logo

snake's Introduction

Snake

A Python implementation of the classic ๐Ÿ game.

Note: the low frame rate here is due to the GIF recording not the game itself.

snake_demo_1

That's my first attempt on writing games in Python after implementing some 2D games in Ruby like Pong and Flappy Bird.

Particullarly, in this game my goal was not only to experiment game development in Python but also to wrap my head around how to start structuring scenes in 2D games which is something I haven't done in other games so far.

Installation

Install the awesome Arcade library:

pip install arcade

Clone this repo:

git clone https://github.com/tiagopog/snake

Run the game:

python snake/main.py

Enjoy!

TODOs

  • Implement the snake's movement mechanics;
  • Implement logic of the snake's food;
  • Implement collision detection + score system;
  • Grow the snake's body and speed when scoring;
  • Make sure the snake's movement mechanics work at any speed;
  • Create arena to limit where the snake can go;
  • Make sure the food doesn't appear over or beyond the arena's border;
  • Detect collision between the snake and the arena's borders;
  • Detect collision between the snake and its own body;
  • Implement game over;
  • Implement game reset;
  • Implement initial scene with the game control;
  • Implement scoreboard scene with best scores;
  • Generate a binary executable for the game.

snake's People

Contributors

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