timdavish / match-three Goto Github PK
View Code? Open in Web Editor NEWA Match Three game.
A Match Three game.
Basically copy color bomb functionality and change some words.
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.
Think about using
switch (true) {
case this.isBombBombSwap(1, 2): this.handleBombBombSwap(1, 2); break;
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.
When a special is created, place it where it deserves to be.
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.
Moves can be Infinity, or a fixed number
Add functionality for updating move count in level
Create special pieces:
Fish: 2x2
Stripe: 1x4
Wrapped: 1x3 + 3x1
Bomb: 1x5
Painter: 1x5 + 1
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.
Refactor all level specific data (id, move count, score goals, scores) to a separate component: LevelInfo
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.
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
Have added point values animate over the location they originated from
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.
Give LevelInfo some love.
It looks like crap
setTileAs takes two parameters:
Allow adjacent columns with the same "gravity" (FlowDirection) to flow into each other if they can't be filled from their own column start.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.