Coder Social home page Coder Social logo

go-player's People

Contributors

dependabot[bot] avatar matthieu-vergne avatar

Watchers

 avatar  avatar  avatar

go-player's Issues

Manage Strategies

A good idea could be to know the concept of "strategies" (and "tactics"). With that, a way to evaluate the feasibility (%) and the interest (territory, prisoners, points, ...) of each strategy, regarding the experience of the player. Of course, a way to abstract the strategies is necessary, as we cannot remember all the possible strategies (use invariants? patterns? ...).

Pre-configured Games

Several countries have Go players. But each countries has its variants of rules (komi, ko constraints, ...). This system should provide methods to get a fully configured game, so we do not have to care about it. Just give the initial data (goban & players) and the rules are set automatically.

If someone want to have a specific one, just give here all the needed data.

NB: start to look at http://en.wikipedia.org/wiki/Rules_of_Go

Possible rules

Considering:

  • a block is a set of contiguous stones of the same color (if one lives, the others also live)
  • a structure is a set of touching (with diagonals) blocks of the same color
  • an eye is a free zone surrounded by stones of the same color, where an opponent structure cannot live
  • an eye exclusively shared by 2 blocks is an eye which is surrounded by stones of these 2 blocks only

Then:

  • if 2 blocks of a same structure share 2 eyes in an exclusive way, these blocks (and the substructure composed of these 2 blocks) live
  • generalization: if a set of N blocks of a same structure share N eyes in an exclusive way, each having 2 eyes of the N, these blocks (and the substructure composed of these N blocks) live

Interest evaluation

I think it is important to be able to evaluate the interest of a single move (prisoners, eye creation, extension, own liberties increasing, opponent liberties decreasing, ...) in order to have a preference of choice when we do not know. Then, to be able to evaluate the interest of a set of moves (I think with the same criteria). Especially, when we go for increasing the territory, kill opponent stones, enforce structures, ... we should be able to evaluate the chance to win (in %?) regarding the chance for the opponent to answer this or that.

But it seems quite complicated (need a good experience of the developer) and the idea to create behaviors manually is not in the optic of this project.

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.