Giter Club home page Giter Club logo

dreamchess-tools's Introduction

DreamChess

Build status

About

DreamChess is an open source chess game. It comes with its own engine called Dreamer.

Both DreamChess and Dreamer are compatible with the xboard/Winboard chess engine communication protocol. This means that DreamChess can be used with other xboard-compatible chess engines such as crafty and GNU Chess. Similarly, the Dreamer chess engine can be used with other xboard-compatible user interfaces such as XBoard/WinBoard.

DreamChess currently supports Windows, macOS and Linux. It is licensed under the GPLv3.

Building

The following dependencies are required for building DreamChess: CMake, bison, flex, gettext, SDL 2.0, SDL_image 2.0, SDL_mixer 2.0, Expat, GLEW and FreeType.

On Ubuntu this translates to the following package list: gcc cmake bison flex gettext libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libexpat1-dev libglew-dev libfreetype-dev

Controls

DreamChess can be controlled with the mouse and/or the keyboard. You can select menu items or chess pieces either by pointing the mouse and left-clicking, or by using the arrow keys and pressing Enter.

The board view can be rotated freely by holding down the middle mouse button and moving the mouse. When using the keyboard, hold down the left Ctrl key and press the arrow keys.

The in-game menu can be opened by right-clicking the mouse, or by pressing the Esc key.

Additionally, there are several keyboard shortcuts you may like to use:

Button Action
'P' Key View previous move in game history
'N' Key View next move in game history
'R' Key Retract move (when possible)
Alt+Enter / F11 Toggle fullscreen mode
Ctrl+F Toggle FPS counter (title screen only)

Locating the saved games and config file

DreamChess uses these folders to store the saved games and config file:

OS Folder
Linux ~/.dreamchess
macOS ~/Library/Application Support/DreamChess
Windows %APPDATA%\DreamChess

Acknowledgments

Special thanks go out to the following people:

  • François Dominic Laramée - for his excellent article on chess programming
  • Bob Hyatt - for his many useful Usenet posts over the years
  • Dan Potter - for making KallistiOS

dreamchess-tools's People

Contributors

l0c0f1x avatar mrsiggler avatar rapgro avatar waltervn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dreamchess-tools's Issues

Build fails with libpng 1.6.19 and tristripper 1.10

What version of libpng is needed to build?

With version 1.6.19 (as in Fedora 23):

gcc -DHAVE_CONFIG_H -I. -I..    -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -c -o vmuicon.o vmuicon.c
dcicon.c: In function 'main':
dcicon.c:124:54: error: 'png_infopp_NULL' undeclared (first use in this function)
         png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
                                                      ^
dcicon.c:124:54: note: each undeclared identifier is reported only once for each function it appears in
dcicon.c:131:40: error: 'png_voidp_NULL' undeclared (first use in this function)
     png_read_png(png_ptr, info_ptr, 0, png_voidp_NULL);
                                        ^
Makefile:481: recipe for target 'dcicon.o' failed
make[2]: *** [dcicon.o] Error 1
make[2]: *** Waiting for unfinished jobs....
vmuicon.c: In function 'main':
vmuicon.c:93:54: error: 'png_infopp_NULL' undeclared (first use in this function)
         png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
                                                      ^
vmuicon.c:93:54: note: each undeclared identifier is reported only once for each function it appears in
vmuicon.c:100:88: error: 'png_voidp_NULL' undeclared (first use in this function)
     png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_INVERT_MONO | PNG_TRANSFORM_PACKSWAP, png_voidp_NULL);
                                                                                        ^
Makefile:481: recipe for target 'vmuicon.o' failed
make[2]: *** [vmuicon.o] Error 1
dcmstrip.cpp: In function 'int main(int, char**)':
dcmstrip.cpp:274:36: error: no matching function for call to 'triangle_stripper::tri_stripper::tri_stripper(std::vector<unsigned int>&)'
     tri_stripper stripper(::indices);
                                    ^
In file included from dcmstrip.cpp:25:0:
/usr/include/tristripper/tri_stripper.h:60:14: note: candidate: triangle_stripper::tri_stripper::tri_stripper(const indices&)
     explicit tri_stripper(const indices & TriIndices);
              ^
/usr/include/tristripper/tri_stripper.h:60:14: note:   no known conversion for argument 1 from 'std::vector<unsigned int>' to 'const indices& {aka const std::vector<long unsigned int>&}'
/usr/include/tristripper/tri_stripper.h:56:7: note: candidate: triangle_stripper::tri_stripper::tri_stripper(const triangle_stripper::tri_stripper&)
 class tri_stripper
       ^
/usr/include/tristripper/tri_stripper.h:56:7: note:   no known conversion for argument 1 from 'std::vector<unsigned int>' to 'const triangle_stripper::tri_stripper&'
Makefile:495: recipe for target 'dcmstrip.o' failed

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.