KCheckers
Board
Description:

Qt version of the classic boardgame "checkers".
This game is also known as "draughts".

Last changelog:

11 years ago

2005-12-29 Artur Wiebe
* Minor bug fixes. Removed unused code.

2005-12-19 Artur Wiebe
* KCheckers 0.8 released.
* Added support for free men placement at the beginning of the game.
* Added multiple undos/redos: free movement in move history.
* Removed network code: there will be network in the next version.

2005-09-09 Artur Wiebe
* KCheckers 0.7 is done - will not be released.
* Ported to Qt 4.0. So watch out for more bugs.
* Added basic Theme support.
* Improved thread termination.
* Redesigned GUI.
* echeckers.cc: Fixed bug: man reaching the king row became king and
continued move.
* Improved PDN support. Can now re-play games.

linux3114a

11 years ago

kcheckers-0.8.1-1.i586.rpm
at
http://home.tiscali.be/raoul.linux/downloadSuSE10.0.htm

and

kcheckers-0.8.1-1.x86_64.rpm
at
http://home.tiscali.be/raoul.linux/downloadS10X64.htm


ENJOY !!!

Report

toadatrix

11 years ago

I tried to install KCheckers-0.8 on my SuSE 9.3 system. I have Qt4 compiled and installed in my home directory, so I reset the PATH variables as follows before compiling KCheckers so that SuSE's Qt3 default would not be used:

export QTDIR=~/Qt4
export PATH=~/Qt4/bin:$PATH

(Note the "~" is the tilde characters)

I then ran:
qmake -o Makefile
make
make install (as root)

The program compiled without any errors.
However, when I run KCheckers it starts up fine, but crashes when I try to make my first move. The Konsole shows the following error message:

jsnyder@JBS_ALIENWARE:~> kcheckers
Your Locale: "en_US"
Prefix path: /usr/local
Loading Qt translations failed.
Loading KCheckers translations failed.
Object::connect: No such slot myTopLevel::slot_enable_history(bool,bool,bool)
ASSERT: "item" in file itemviews/qtreewidget.cpp, line 1957
Aborted

Is there anyway to fix this problem so that I can use KCheckers-0.8? Thanks.

Report

kcheckers

11 years ago

Hi. Ok, the missing slot is not the problem. It seems that QTreeWidget causes the problem. What GCC, Qt version are you using? Need output from "g++ -v" and "qmake -v". And - if possible - the complete kcheckers compilation output. You can contact me by email if you wish.

Report

toadatrix

11 years ago

Here is output from g++ -v

snyder@JBS_ALIENWARE:~> g++ -v
Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib --enable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
Thread model: posix
gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)

Here is output from qmake -v with PATHs set as indicated in my first message to use Qt4

jsnyder@JBS_ALIENWARE:~> qmake -v
QMake version: 2.00a
Using Qt version 4.0.1 in /home/jsnyder/Qt4/lib

Here is the output from compiling KCheckers:

jsnyder@JBS_ALIENWARE:~/Software/kcheckers-0.8> qmake -o Makefile kcheckers.pro
jsnyder@JBS_ALIENWARE:~/Software/kcheckers-0.8> make
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o pdn.o pdn.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o checkers.o checkers.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o echeckers.o echeckers.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o rcheckers.o rcheckers.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o field.o field.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o toplevel.o toplevel.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o view.o view.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o info.o info.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o board.o board.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o main.o main.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o newgamedlg.o newgamedlg.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o humanplayer.o humanplayer.cc
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o computerplayer.o computerplayer.cc
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. field.h -o moc_field.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_field.o moc_field.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. toplevel.h -o moc_toplevel.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_toplevel.o moc_toplevel.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. view.h -o moc_view.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_view.o moc_view.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. info.h -o moc_info.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_info.o moc_info.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. board.h -o moc_board.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_board.o moc_board.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. newgamedlg.h -o moc_newgamedlg.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_newgamedlg.o moc_newgamedlg.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. player.h -o moc_player.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_player.o moc_player.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. humanplayer.h -o moc_humanplayer.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_humanplayer.o moc_humanplayer.cpp
/home/jsnyder/Qt4/bin/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. computerplayer.h -o moc_computerplayer.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o moc_computerplayer.o moc_computerplayer.cpp
/home/jsnyder/Qt4/bin/rcc -name kcheckers kcheckers.qrc -o qrc_kcheckers.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I../../Qt4/mkspecs/linux-g++ -I. -I../../Qt4/include/QtGui -I../../Qt4/include/QtCore -I../../Qt4/include -I. -I. -o qrc_kcheckers.o qrc_kcheckers.cpp
g++ -Wl,-rpath,/home/jsnyder/Qt4/lib -o kcheckers pdn.o checkers.o echeckers.o rcheckers.o field.o toplevel.o view.o info.o board.o main.o newgamedlg.o humanplayer.o computerplayer.o moc_field.o moc_toplevel.o moc_view.o moc_info.o moc_board.o moc_newgamedlg.o moc_player.o moc_humanplayer.o moc_computerplayer.o qrc_kcheckers.o -L/home/jsnyder/Qt4/lib -L/home/jsnyder/qt-x11-opensource-src-4.0.1/lib -lQtGui_debug -L/usr/X11R6/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lm -lQtCore_debug -lz -ldl -lpthread

I should point out that when I compiled and installed Qt4 I got no errors and that all the tests included in the Qt4 package ran correctly.

Thanks again for your help.

Report

kcheckers

11 years ago

Well, there is nothing wrong within the output. Does SUSE 9.3 provide GCC 4.0? If so, you could try this one. If not, I'll provide you with a "debugging version" that will produce some extra output for me to analyze.

Report

toadatrix

11 years ago

No, SuSE 9.3 does not have Qt4, only Qt3.

If you could get me a debugging version that would be great. I really enjoy KCheckers and would very much like to get 0.8 working on my machine.

Report

toadatrix

11 years ago

Sorry, I met to say that SuSE doesn't have gcc 4.

Report

kcheckers

11 years ago

Fixed in 0.8.1.

Report

toadatrix

11 years ago

I upgraded to kcheckers-0.6 on my SuSE 9.3 pro system. I got the program compiled by doing:

qmake -o Makefile
make
make install (as root)

It seems to run OK, but I can't get kcheckers to close when I am finished with it. The only way I can get it to completely stop is to kill the process manually. What am I doing wrong? Please help as I like the new version, but if I can't get it working I must revert back to kcheckers-0.5. Thanks.

Report

kcheckers

11 years ago

well, it works well with debian testing and suse 9.1. i tried to send you an email asking about you kde/qt/etc but failed. so, would you please send me some more information. is kcheckers working/running using the process when you quit?

Report

toadatrix

11 years ago

I finally noticed that this problem only arises if I have "Confirm aborting current game" checked under the Settings menu. If that is checked then kcheckers continues to run even after you confirm your intention to quit and try to close the game. If that option isn't checked then kcheckers exits properly without error.

Report

kcheckers

11 years ago

aha, ok. this is not a bug but a misplaced feature. when a game is running and you want to start a new or just quit kcheckers asks whether this is your intend. with this option you can bypass this "annoying" dialog.
in the next kcheckers release there will be a settings dialog for options like these.

Report

RND

12 years ago

thanks for the pointer, managed to get it to work :)

Report

RND

12 years ago

I followed the instructions in the readme by using:

gmake -o Makefile kcheckers.pro

to which it responded with:

gmake: Nothing to be done for `kcheckers.pro'.

Report

kcheckers

12 years ago

it should be qmake not gmake. qmake is part of qt's development tools.

Report

iges

12 years ago

Really like it, brings back good memories from childhood ;)

I've also big PLEASE ;) At the moment it seems not possible to play with another person simply behind the same screen... you know like the olden days "1 Player" and "2 Player" game ;)

It would be great on travel, a laptop would be enough to enoy it with a buddy.

Regards.

Report

kcheckers

12 years ago

OK :)

Report

toadatrix

12 years ago

I was able to compile kcheckers-0.5 on SuSE 9.1. To do so I had to execute the commands:
qmake
make
make install (as root)

The ReadMe file says to do "make qmake", but that generates an error. Doing simply "qmake" in the first step worked for me. I then used checkinstall to build an rpm.

Question: How do you use the new server feature? I didn't see anything about that.

Report

kcheckers

12 years ago

New Server Feature.
Click "Game|New..." select "Create New Network Game". This will the the server. Or "Join Network Game" then you'll have to provide the server ip in order to connect.

Report

rraab

12 years ago

Why are you registered as a ScreenSaver?

Report

kcheckers

12 years ago

Sorry, fixed.

Report

11 years ago

2005-12-29 Artur Wiebe
* Minor bug fixes. Removed unused code.

2005-12-19 Artur Wiebe
* KCheckers 0.8 released.
* Added support for free men placement at the beginning of the game.
* Added multiple undos/redos: free movement in move history.
* Removed network code: there will be network in the next version.

2005-09-09 Artur Wiebe
* KCheckers 0.7 is done - will not be released.
* Ported to Qt 4.0. So watch out for more bugs.
* Added basic Theme support.
* Improved thread termination.
* Redesigned GUI.
* echeckers.cc: Fixed bug: man reaching the king row became king and
continued move.
* Improved PDN support. Can now re-play games.

Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
Score 66%
66.00 Likes
34 Dislikes
Details
version
0.8.1
updated Dec 30 2005
added Jul 28 2004
downloads
page views 477
support kcheckers
For The Product
KCheckers
5 - 10 - 25 - 50 - 100 - 200 - 500