Code Monkey home page Code Monkey logo

match-three's People

Contributors

timdavish avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

0xh

match-three's Issues

Feature: Move Suggestion

After a designated period of time (~5 seconds), give the player a hint about a move they can make. Perhaps throw in an element of randomness: instead of always giving them a hint regarding the "best (highest priority, lengthiest)" match that can be made, maybe 50% of the time just give a hint for a random move

Best move should be found by finding highest priority, followed by second highest priority, followed by third, etc.

Feature: Special Combinations

Think about using
switch (true) {
case this.isBombBombSwap(1, 2): this.handleBombBombSwap(1, 2); break;

  • Painter with Bomb
  • Painter with Painter
  • Painter with Other
  • Bomb with Bomb
  • Bomb with Other
  • Other with Other
    • Wrapped with wrapped
    • Wrapped with striped
    • Wrapped with fish
    • Striped with striped
    • Striped with fish
    • Fish with fish

Feature: Fish Piece Functionality

Fish, when removed, should go for a random position of highest priority. For now, all that means is hitting a random position. Later, different types of position modifiers may have different priorities. For example, in a "spread the jam" game mode, a position without jam would have higher priority than one with jam.

Feature: Striped Piece Functionality

Add functionality to striped pieces.
Vertical striped pieces should hit every active tile in the same column that it gets removed in.
Horizontal same row.

Feature: AI Player

  • Requirement: Complete Move Suggestion
  • Create a checkbox that toggles the AI.
  • Create an ai that takes the move suggestion and makes that move happen.

Feature: Moves

Moves can be Infinity, or a fixed number

Add functionality for updating move count in level

Feature: Color Bomb Functionality

A color bomb can have different types of reactions.
If it is swapped with any type of tile that isn't a special, it removes all tiles of that type from the board.
If it is swapped with a special, that isn't another color bomb or color painter, turn every tile of the type of the matched special, into that special.
If it is swapped with a special, that is a color bomb, hit every position in the board once.
If it is swapped with a special, that is a color painter, hit every position in the board twice.
If it is removed by something else, (another special) it will remove all tiles of the type of the special that removed it.

Component: Level Info

Refactor all level specific data (id, move count, score goals, scores) to a separate component: LevelInfo

Bug: Chain Reaction Specials

Specials that are in a chain reaction, ie. another special is what sets them off, aren't handled by 'handleSpecials', aka they do not perform their special reaction.

Feature: Scoring

50 points per tile.

Fish (2x2): 100 bonus points, for a total of 300-350 points
Stripe (1x4): 100 bonus points, for a total of 300 points
Wrapped (1x3 + 3x1): 125 bonus points, for a total of 375 points
Bomb (1x5): 150 bonus points, for a total of 400 points
Painter (1x5 + 1): 200 bonus points, for a total of 500

Feature: Wrapped Piece Functionality

A wrapped piece, when removed, should initially blow up, hitting all 8 neighbors around it, shifting, then blowing up again, removing all 8 neighbors around it again.

Refactor: setTileAs

setTileAs takes two parameters:

  • the tile to set properties of
  • an object with properties to set, and their corresponding values

Feature: Gravity Fill

Allow adjacent columns with the same "gravity" (FlowDirection) to flow into each other if they can't be filled from their own column start.

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.