Git Product home page Git Product logo

pacmanjs's People

Contributors

adhicoder avatar madhavm-117 avatar

Watchers

 avatar  avatar  avatar

pacmanjs's Issues

Create candy for Pacman to eat

  • Create normal candy for pacman to eat, and populate in map
  • Create super candy for pacman to eat, and populate in map
  • define what happens when pacman eats the super candy
  • track score on eating normal candy, for pacman

Implement Start-up and Pause Menu

  • implement a start-up and pause menu

Start-Up Menu should have options to

  • Start a new game
  • View High Scores
  • Create a custom level
  • Edit settings (if any)

Pause Menu should have options to:

  • Resume Game
  • Edit settings (if any)
  • Quit to Start-up Menu

Create ghosts and ghost pen

  • Create a Ghost Sprite
  • Define the Ghost Pen, in each level, which will serve as the spawn area for the Ghosts, when eaten by Pacman

Code Linting

Planning on setting up:

  • eslint
  • prettier

along with a pre-commit hook to enforce that all code is formatted uniformly, before pushing.
I'll take a look at this, when I get time.

Testing and TDD

I'll set up a framework with Mocha/Jasmine and start off a couple of tests.

Let's try to follow these practices:

  • Testing out the logic of each code segment with unit tests
  • TDD, sooner rather than later
  • Testing the canvas drawing functions with Canteen and Rabbit that will use a reference catalog to test image drawing on canvas. (Do this only for quality improvement purposes later - Don't waste time drawing detailed pictures for catalogs)

A good intro to TDD with canvases in JS:
https://stackoverflow.com/questions/4406864/html-canvas-unit-testing

Code Structure and Organization

Want to be on the same page, regarding code structure and organization.

  • Let's keep the top level directory, clean.
  • All typescript/javascript should be in the src directory.
  • organize files into an appropriate folder structure, where possible. A flat structure will get too big, and overwhelming, quite quickly.
  • avoid files getting too large.
  • create classes where possible.
  • avoid using the any type.
  • be explicit with types, where possible
  • indentation to be done with tabs (I've configured IDE, to represent tabs as 2 spaces)

Implement a level editor/creator

Creating levels by hand, will not be an easy task. ideally, we should some basic game-like UI, which will allow us to define custom levels, controlling things from placement of walls, to the color and themes.

  • implement basic level creator
  • should preserve the ghost pen, through all custom levels

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.