Giter Site home page Giter Site logo

karo's People

Contributors

bakkes avatar evianpark avatar jappeace avatar jkemperman avatar johnnei avatar leandernieuwenstein avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

karo's Issues

Simple AI with mini-max algorithm

Create an AI player that uses the mini-max algorithm. Plus points if depth level is easily changed.
Also create an interface for the computer player (so we could easily add other AI implementations).

Create XNA project

Sounds simple, but it'll need to work with the Engine project and the Wrapper project. This caused some problems with the 2D frontend.

Move diff of 19 should be -1

our relatavie absolute converter can't detect negative moves, so it will return -1+width or height. these are always 20 so to the result is 19.

the easiest way to fix this is in the move constructor, detect the difference between from and to, if its 19 it should be -1

There should be a 2D test frontend in C#

This frontend could be made in C#. It is only useful for testing and is not part of the end product, so it shouldn't be too complicated. C# with winforms maybe?

Implement the communicationprotocol in the 3D frontend

Our frontend should be able to communicate with those from other projects. Our XNA frontend must therefore use the communicationprotocol.

The communicationprotocol itself should not be changed. If we change it, we might break compatibility with the applications of other projects in our class.

Board gets weird (sometimes)

When playing a player vs computer game, the board state gets screwed up. I do not know when or why this happens.

Player vs computer win

Currently, you can't win while playing player vs computer. We should probably have some kind of win screen/message to indicate that we won.

Technical documentation

The current state of the technical documentation is not good enough. According to the documents on n@tschool, we need the following:

  • Class diagram showing architecture (current one is out of date and incomplete)
  • Technical choices, motivation and consequences (out of date and incomplete as well)
  • Algorithms used and implementation details (same here)
  • Are there any features that are not implemented or incomplete? (Don't think there are. If we end up not finishing something we'll have to add it in here.)

A relative wrapper for cells

to expose board entirly relative the cells should return a relative position. because we choiche to write a wrapper, this wrapper can also contain the bulk of the bitwise operations

GetLegalMoves does not comply with the rule amendment

The clarification on the moves which used a tile which temporarily creates a disconnected board is not correctly implemented in the move finder.
The unit test (Added in commit a6f413b) "RulesAmendment" checks a board which could return this move.

A board for the game

there should be a board (datastructure) to contain tiles and determine what is on the board. It also should be resizeable in all directions.

UndoMove doesn't work as expected.

I wrote a unit test that proves this, see the test named InvertBoardShiftingStepFromBug in MoveInvertionTest.cpp in the branch islands_30.

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.