Giter Site home page Giter Site logo

cagdasgerede / javacheckers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sloenthran/javacheckers

0.0 0.0 0.0 39.39 MB

Checkers game written in Java language.

Home Page: https://sloenthran.pl

License: GNU General Public License v3.0

Java 100.00%
swe

javacheckers's People

Contributors

cagdasgerede avatar sloenthran avatar

Watchers

 avatar

javacheckers's Issues

As a player, I would like to have a game menu where I can start the game, change game settings, exit the game, pause/resume the game

The game should start with a game menu.

Then player should be able to choose to start the game.

When escape is pressed, pause the game and show the menu.

The menu should have

  • an option to resume the game.
  • an option to end the current game and start a new one.
  • an option to exit the game

The menu UI theme should be similar to the general UI theme of the application.

As a player, I would like to have sounds/music in the game so that it is a more fun experience to play with the game

Add some sounds/music to the game.

Some examples:

  • When game starts / when game menu is displayed
  • During gameplay, background music
  • Sound when a piece is won/lost
  • When the game is won/lost

Ensure the music and sounds are copyright free. Also in the code provide a reference to where you found the music/sound files from. Ensure that the files are not too large. You can use looping to make some background music to keep playing instead of a very long music file, for example.

As a player, I would like to have a game menu where I can start the game, change game settings, exit the game, pause/resume the game

The game should start with a game menu.

Then player should be able to choose to start the game.

When escape is pressed, pause the game and show the menu.

The menu should have

  • an option to resume the game.
  • an option to end the current game and start a new one.
  • an option to exit the game

The menu UI theme should be similar to the general UI theme of the application.

As a player, I would like to have achievements in the game so that I have another aspect of the game that challenges me to play

Define an achievement system. Define a way to define an achievement and show it a list of achievements that are achieved and not achieved.

  • One series of achievements could be based on the length of the game
  • Others can be based on the game time
  • Another can be based on average number of pieces taken per move
  • Track the achievements during the game and display them in game when the achievement is is unlocked.

The achievement progress should be persisted (store them in a local file and load them when the game starts)

Implementation should be generic so that new achievements can be added easily. Make use of polymorphism and create a hierarchy of achievements. Try not to have too much duplicate code.

Do not use any object serialization mechanism or do not use any binary format to save the data. Come up with a model to represent the game state as a text file and serialize the current state into a such text file. Also, come up with a way to verify the content of the file (such as a CRC check) to prevent players to modify the game state file content manually.

As a player, I would like an option that allows me to move a piece anywhere I like on the board so that I can bring the board to a configuration that I like

Once this mode is enabled, let the player move any piece to any available square. Also, player can delete any piece from the board. In addition, let the player add a new piece to the board. The player is allowed to pick any type of piece to the board (so she can arrange the board to any configuration possible).

Once the player is ready, let the player resume the game and the game should be able to continue as expected.

As a player, I would like to save my game state and be able to load my game state for a better playing experience

Implement a save functionality.

The saving state should be kept in local storage persistently.

Provide an ability to load a saved game state.

Implement a menu to saving/loading.

There should be options to determine the saving location.

Do not use any object serialization mechanism or do not use any binary format to save the data. Come up with a model to represent the game state as a text file and serialize the current state into a such text file. Also, come up with a way to verify the content of the file (such as a CRC check) to prevent players to modify the game state file content manually.

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.