crossm4tch's People
crossm4tch's Issues
Allow replay without reshuffle
What if you want to try again on the same board?
Add page icon
Support mobile screen sizes
Minimum width right now is 500px. Allow the display to shrink down more.
Settings: Board Size
Allow the user to select a range of board sizes from 3x3 up to 9x9. Adjust the instructions and display to accomodate.
Make all factorizations into winning rectangles
In the 12x12 board, only the closest rectangle to a square (3x4 or 4x3) is counting as a winning collection. This is up for debate, but after a bit of play testing, it feels like 2x6 and 6x2 rectangles should also count as winning collections.
Design better graphics look
Make it pop!
Settings: Difficulty of AI opponent
Allow the user to choose the difficulty of the AI opponent. Do this by either varying the search depth (those on slower hardware might like this) or the probably that the AI intentionally makes a mistake. Or both.
Add a thinking/loading animation while AI decides move
Add assertions where necessary
Add tests
Statistics
Track a devices' win/loss statistics against the computer (separated by difficulty, maybe board size).
Ex: current streak. best streak. win percentage.
Settings: AI or local multiplayer
Allow user to choose whether to play the AI opponent or another person sharing their device.
Add non-local multiplayer
Not necessarily with a full server.
Potentially, with a URL parameter containing the hash of the board (for the 4x4 board, easy to represent board in 8 bytes, since each cell takes 2 bits for the color and 2 bits for the number), hash of the cell states (2 bits for each cell), and either position or category info of the last tile. Not as easy as playing together on a server, but players could just send URLs with these parameters back and forth.
Using new URLSearchParams(window.location.search).get(...);
Settings: Who goes first
Allow the user to select who goes first. Options:
- Human
- Computer
- Alternate
- Random
- Winner
- Loser
Fill in "sharing" section of index.html
It would be great if it were easy for users to share the game.
Accommodate color-blind users
The current scheme represents categories with numerals 1, 2, 3, 4 (good) and colors red, blue, green, yellow (hard for red-green colorblind users). Consider using shapes, shading or other indicators for the second category.
Highlight last played piece
Instead of displaying the last tile above the board, make it glow or something.
Add readme.md
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.