Git Product home page Git Product logo

spider-solitaire's People

Contributors

crusadersvk287 avatar

Watchers

 avatar

spider-solitaire's Issues

Card animation stutter

When selection is invalid, the animation plays the amount of time the card was "selected", resulting in weird stuttery animation

UI

After implementing the move back feature, a proper UI is to be made

Auto update

Make the app able to update itself via this repository when a new version is released

Deck builder

Implement a deck builder feature where users will be able to:

  • Create a deck card by card
  • Save the deck
  • Play with the saved deck
  • Edit the deck

Statistics anti cheat

Implement some sort of anti-cheat system to statistics so that it will be harder to cheat in them

Settings

Implement settings such as these:

  • Card size
  • Card spacing
  • Hint mode (enabled, disabled, enabled with limit)
  • Reset stats
  • Play animations
  • Change the order of buttons in-game?
  • Reset to default

Card movement hitbox

Currently, when you have selected cards, you have to click on the column where you want them to go, but you cannot click on the cards in the said column. Make it so that regardless of where you click, it will move the cards.

Winnable random decks to be stored

Save a winnable deck that was randomly generated to a database of winnable decks. Make it possible to play with these decks rather than a random deck.

improved savegame

Currently, save game files can be abused. Players can easily see which cards are where in the deck, this should change

Hint algorhitm

Make it so that the hint wouldn't be given such as an entire pile will be moved to a different column.
Also in IsParent methods, card visibility should be taken into account

Start again button

Add a button that will make it possible to start the game all over again with the same deck

Statistics

Game should save statistics, namely:

  • games started
  • games won
  • average time to complete?
  • average number of moves needed to win?

Accessible from the main menu.

Hint

The ability to press a hint button which will highlight selectable cards and the column into which they could go

Deck generation

Improve the generation of cards in stock in order to make generated games more likely to be winnable, particular cases would be:

  • not having 3 or more of the same card beside each other
  • not having 4 or more same cards in the same row (starting from the first row, fifth card)
  • not having 6 or more of the same values of cards in the same row (starting from the first row, fifth card)
  • Kings not being present at the end of the deck since they can easily bottleneck the entire game, especially when combined with the previous point

In summary, implementing a set of rules to make generated decks more winnable

Save/load game

Make it possible to save a game for future play, by saving a deck and every move made from the start of the game so that the game can be replicated when loaded.

Deck generation

By using the implemented hint functions, the deck should always be checked whether it is possible to play with it for at least 15 turns or clear up at least one pile

Make a move back possible

Make it possible to take a move back in case of an accidental bad move. Be it possible to undo every possible move. This move should be also removed from history, therefore history and save/load game should be already implemented before this.

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.