An elimination game that drawed by Canvas and implemented using TypeScript.
The game play design and some of the resources are from Gardenscapes.
English | ็ฎไฝไธญๆ
https://vermouth1995.github.io/MatchThreeGame/
- ๐ Beautiful page, smooth game experience.
- ๐ผ Written in TypeScript with predictable static types.
- ๐ Multiple rendering methods support capability.
- โ๏ธ Compile with gulp, full link development.
- ๐ Powerful level customization in every detail.
- ๐คณ Support for mobile terminal.
- run
npm i
- run
npm run build
- open html file(
/dist/index.html
) in browser
- run
npm run format
concept -- Basic tools (tool concept class content)
concept
โโ coordinate -- Coordinate and coordinate operation
โโ event -- Record movement events
โโ coordinate_adaptor -- Coordinate adaptor
โโ coordinate_dynamic -- Dynamic coordinate
โโ coordinate_value -- Common coordinate
โโ coordinate -- Coordinate interface
โโ locus -- Record the moving state and coordinate track
โโ linked_list -- Linked list
โโ listener -- Listening tools to manage listening events
โโ once -- Manages the invocation of a series of callback functions
โโ style -- Style classes, such as colors, fonts, and so on
โโ random_weight -- Random access with weights
engine -- Game engine (core elements and concepts in game)
engine
โโ birth -- The generation of eliminable elements
โโ board -- Game board
โโ cell -- Game cell
โโ goal -- Game goal
โโ item -- Eliminated elements
โโ sacrifice -- Rule of elimination
โโ puzzle_keeper -- The object that holds the real rendering block
โโ score -- Game steps/Score management
game -- Game logic (including score calculation, relationship between levels, etc.)
game
โโ game -- Instance of game logic
โโ level_creator -- Level generator
โโ level_data -- Level data interface
โโ level -- Level implementation
โโ message -- Message
level -- Level (level content setting)
level
โโ 1 -- Level 1
โโ 2 -- Level 2
โโ 3 -- Level 3
โโ ... -- Level ...
main -- Project entrance
main
โโ resource -- Game resources
โโ index -- Entrance
platform -- Rendering platform
platform
โโ canvas -- canvas
โโ webgl -- webgl
render -- Image rendering
render
โโ atom -- Minimum render unit
โโ puzzle -- Real rendering block
โโ render_adapter -- Render adapter
โโ render_locus -- Trace nodes of the rendering tree
โโ render_position -- Nodes of the rendering tree
โโ render -- Render interface
- Rerender when window onResize
- onTouch realization
- Level selection
- Style optimization
- Automatic prompt
- Bomb appearance weight can be set
- Level of dwarf
MIT ยฉ Vermouth1995